diff --git a/.all-contributorsrc b/.all-contributorsrc index 732da9642..9a9c6c6ed 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -18,6 +18,7 @@ "contributions": [ "code", "maintenance", + "doc", "projectManagement" ] }, diff --git a/.github/workflows/docs-deployment.yaml b/.github/workflows/docs-deployment.yaml index f7755f4a3..e7cdcd176 100644 --- a/.github/workflows/docs-deployment.yaml +++ b/.github/workflows/docs-deployment.yaml @@ -26,8 +26,8 @@ jobs: registry: registry.storefrontcloud.io username: ${{ secrets.DOCS_CLOUD_USERNAME }} password: ${{ secrets.DOCS_CLOUD_PASSWORD }} - workdir: docs - dockerfile: ../.vuestorefrontcloud/docker/docs/Dockerfile + workdir: . + dockerfile: ./.vuestorefrontcloud/docker/docs/Dockerfile buildoptions: "--compress" deploy: @@ -46,10 +46,10 @@ jobs: id: deployment with: token: "${{ github.token }}" - target_url: https://docs.europe-west1.gcp.storefrontcloud.io/v2 + target_url: https://docs.europe-west1.gcp.storefrontcloud.io/magento environment: production initial_status: in_progress - - name: Deploy on docs.europe-west1.gcp.storefrontcloud.io/magento2 + - name: Deploy on docs.europe-west1.gcp.storefrontcloud.io/magento run: | if curl -s -H 'X-User-Id: ${{ secrets.DOCS_CLOUD_USERNAME }}' -H 'X-Api-Key: ${{ secrets.DOCS_CLOUD_PASSWORD }}' -H 'Content-Type: application/json' -X POST -d '{"code":"docs","region":"europe-west1.gcp","additionalApps":{"apps":[{"name":"docs-v2-magento2","tag":"${{ steps.get_version.outputs.VERSION }}","image":"registry.storefrontcloud.io/docs-storefrontcloud-io/v2-magento2","path":"/magento","port":"80"}]}}' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then echo "Instance updated" @@ -62,7 +62,7 @@ jobs: uses: chrnorm/deployment-status@releases/v1 with: token: "${{ github.token }}" - target_url: https://docs.europe-west1.gcp.storefrontcloud.io/v2 + target_url: https://docs.europe-west1.gcp.storefrontcloud.io/magento state: "success" description: Congratulations! The deploy is done. deployment_id: ${{ steps.deployment.outputs.deployment_id }} @@ -71,7 +71,7 @@ jobs: uses: chrnorm/deployment-status@releases/v1 with: token: "${{ github.token }}" - target_url: https://docs.europe-west1.gcp.storefrontcloud.io/v2 + target_url: https://docs.europe-west1.gcp.storefrontcloud.io/magento description: Unfortunately, the instance hasn't been updated. state: "failure" deployment_id: ${{ steps.deployment.outputs.deployment_id }} diff --git a/.github/workflows/gitflow.yml b/.github/workflows/gitflow.yml deleted file mode 100644 index a2d07ee92..000000000 --- a/.github/workflows/gitflow.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: Gitflow Merge -on: - pull_request: - branches: - - release/* - - master - - develop -jobs: - automerge: - name: GitFlow AutoMerge - if: contains(github.event.pull_request.labels.*.name, 'gitflow') && contains('bloodf|alefbarbeli|domideimel|LiorLindvor|filrak|filipsobol|andrzejewsky|', github.actor) - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v1 - - name: Extract branch name - uses: mdecoleman/pr-branch-name@1.0.0 - id: extract_branch - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: yanamura/git-flow-merge-action@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ steps.extract_branch.outputs.branch }} - develop_branch: "develop" - main_branch: "master" - tag: ${{ steps.extract_tag.outputs.tag }} - release: - name: GitFlow Release AutoMerge - if: contains(github.event.pull_request.labels.*.name, 'release') && contains('bloodf|alefbarbeli|domideimel|LiorLindvor|filrak|filipsobol|andrzejewsky|', github.actor) - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v1 - - - name: Extract branch name - uses: mdecoleman/pr-branch-name@1.0.0 - id: extract_branch - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract tag name - shell: bash - run: | - branch=${{ steps.extract_branch.outputs.branch }} - echo "##[set-output name=tag;]$(echo ${branch#release/})" - id: extract_tag - - - name: Gitflow AutoMerge Branches - uses: yanamura/git-flow-merge-action@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: ${{ steps.extract_branch.outputs.branch }} - develop_branch: "develop" - main_branch: "master" - tag: ${{ steps.extract_tag.outputs.tag }} diff --git a/.vuestorefrontcloud/docker/docs/Dockerfile b/.vuestorefrontcloud/docker/docs/Dockerfile index 8bbf56aa5..0706c931a 100644 --- a/.vuestorefrontcloud/docker/docs/Dockerfile +++ b/.vuestorefrontcloud/docker/docs/Dockerfile @@ -1,14 +1,15 @@ -FROM node:12 AS build +FROM node:14 AS build WORKDIR /var/www COPY . . -RUN npm install \ +RUN cd docs \ + && npm install \ && sed -i "s/base: '\/',/base: '\/magento\/',/g" ./.vuepress/config.js \ && cat ./.vuepress/config.js \ && npm run build FROM nginx -COPY --from=build /var/www/.vuepress/dist /usr/share/nginx/html/magento +COPY --from=build /var/www/docs/.vuepress/dist /usr/share/nginx/html/magento diff --git a/.vuestorefrontcloud/docker/docs/build-docker.sh b/.vuestorefrontcloud/docker/docs/build-docker.sh index 92901250d..089ff3817 100755 --- a/.vuestorefrontcloud/docker/docs/build-docker.sh +++ b/.vuestorefrontcloud/docker/docs/build-docker.sh @@ -1,3 +1,3 @@ TAG=`git rev-parse HEAD` -docker build --progress plain -t registry.storefrontcloud.io/docs-storefrontcloud-io/v2-magento2:${TAG:0:8} -f Dockerfile ../../../docs +docker build --progress plain -t registry.storefrontcloud.io/docs-storefrontcloud-io/v2-magento2:${TAG:0:8} -f Dockerfile ../../../ # docker push registry.storefrontcloud.io/docs-storefrontcloud-io/v2-magento2:${TAG:0:8} diff --git a/README.md b/README.md index c3185177a..fbf1d7025 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ ## Vue Storefront 2 integration with Magento This project is a Magento 2 integration for Vue Storefront 2. -This integration developed by superheroes from [Caravel](https://github.com/caravelx) and [Leonex](https://www.leonex.de/) ❤️ +This integration developed by superheroes from [Caravel](https://github.com/caravelx) ❤️
-   +
------- +
[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-) @@ -27,9 +27,37 @@ vsf init && cd && yarn && yarn dev ## How to start if you want to contribute? Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io)! + ### Requirements: - NodeJS v14 or later - - Magento >= v2.4.2 instance for GraphQL endpoint + - Yarn + - Magento >= v2.4.3 instance for GraphQL endpoint + - Change Magento GraphQL Query Complexity and Depth values + +::: warning Don't forget to change the Magento GraphQL Query Complexity and Depth values +Magento 2 by default has a lower value for the complexity of 300, and a higher value for the depth of 20. [Magento 2 - Issue #32427](https://github.com/magento/magento2/issues/32427#issuecomment-860478483) + +The changes are required, due to the size of the queries and mutations in the `api-client` implementation. + +To do this changes, you can use the [Magento 2 module](https://github.com/caravelx/module-graphql-config), which adds a configuration panel to your admin, or do this changes manually. +::: + +To install the Magento 2 GraphQL Config module, on your Magento installation execute: + +```bash +composer require caravelx/module-graphql-config + +php bin/magento module:enable Caravel_GraphQlConfig + +php bin/magento setup:upgrade + +php bin/magento setup:di:compile + +php bin/magento setup:static-content:deploy +``` + +Find more information about the module [GraphQl Custom Config](https://github.com/caravelx/module-graphql-config) + ### Steps 1. Fork the repo 2. Clone your fork of the repo @@ -70,6 +98,7 @@ If you have any questions about this integration we will be happy to answer them ### Honorable Mentions - [Cyberfuze](https://cyberfuze.com/) +- [Leonex](https://www.leonex.de/) Thanks go to these wonderful people 🙌: @@ -78,7 +107,7 @@ Thanks go to these wonderful people 🙌: - + diff --git a/api-extractor.base.json b/api-extractor.base.json new file mode 100644 index 000000000..6b0a718b0 --- /dev/null +++ b/api-extractor.base.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "projectFolder": ".", + "compiler": { + "tsconfigFilePath": "/tsconfig.base.json" + }, + "docModel": { + "enabled": true + }, + "dtsRollup": { + "enabled": true + }, + "tsdocMetadata": { + "enabled": false + }, + "apiReport": { + "enabled": false + }, + "messages": { + "compilerMessageReporting": { + "default": { + "logLevel": "warning" + } + }, + "extractorMessageReporting": { + "default": { + "logLevel": "none", + "addToApiReportFile": false + }, + "ae-extra-release-tag": { + "logLevel": "none", + "addToApiReportFile": false + }, + "ae-forgotten-export": { + "logLevel": "none" + } + }, + "tsdocMessageReporting": { + "default": { + "logLevel": "none", + "addToApiReportFile": false + } + } + } +} diff --git a/codegen.yml b/codegen.yml index ac4b007b6..8e33ae4f1 100644 --- a/codegen.yml +++ b/codegen.yml @@ -9,5 +9,7 @@ generates: - "typescript" - "typescript-operations" config: + preResolveTypes: true + flattenGeneratedTypes: true skipTypename: true declarationKind: 'interface' diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 75429daaa..4523a1241 100755 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -20,11 +20,31 @@ module.exports = { })) })) }, + /** + * Ref:https://v1.vuepress.vuejs.org/plugin/ + */ + plugins: [ + '@vuepress/plugin-back-to-top', + [ + '@vuepress/plugin-medium-zoom', + { + // This selector excludes images from the "Integrations" page + selector: 'main :not(.tile-image) > img' + } + ], + '@vuepress/active-header-links', + '@vuepress/search' + ], themeConfig: { + repo: 'https://github.com/vuestorefront/magento2/', + editLinks: true, + docsDir: 'docs', + docsBranch: 'develop', + editLinkText: 'Edit this page', nav: [ { text: 'Vue Storefront', link: 'https://vuestorefront.io/' }, { text: 'Core Documentation', link: 'https://docs.vuestorefront.io/v2/' }, - //{ text: 'Demo', link: 'https://vsf-next-demo.storefrontcloud.io' }, + { text: 'Demo', link: 'http://m2-vsf.caravelx.com/' }, { text: 'GitHub', link: 'https://github.com/vuestorefront/magento2'}, { text: 'Roadmap', link: 'https://github.com/vuestorefront/magento2/projects/5'} ], @@ -34,31 +54,60 @@ module.exports = { collapsable: false, children: [ ['/', 'Introduction'], - ['/guide/getting-started', 'Getting started'], - ['/guide/configuration', 'Configuration'], ['/guide/about', 'About'], ] }, { - title: 'Composables', + title: 'Creating a Storefront', collapsable: false, children: [ + ['/guide/creating-a-store', 'Creating a Store'], + ['/guide/configuration', 'Configuration'], + ] + }, + { + title: 'Composables', + children: [ + ['/guide/composables/use-addresses', 'useAddresses'], ['/guide/composables/use-billing', 'useBilling'], ['/guide/composables/use-cart', 'useCart'], ['/guide/composables/use-category', 'useCategory'], ['/guide/composables/use-category-search', 'useCategorySearch'], ['/guide/composables/use-config', 'useConfig'], + ['/guide/composables/use-content', 'useContent'], ['/guide/composables/use-country-search', 'useCountrySearch'], + ['/guide/composables/use-custom-mutation', 'useCustomMutation'], + ['/guide/composables/use-custom-query', 'useCustomQuery'], ['/guide/composables/use-external-checkout', 'useExternalCheckout'], ['/guide/composables/use-facet', 'useFacet'], + ['/guide/composables/use-forgot-password', 'useForgotPassword'], ['/guide/composables/use-get-shipping-methods', 'useGetShippingMethods'], ['/guide/composables/use-guest-user', 'useGuestUser'], ['/guide/composables/use-make-oder', 'useMakeOrder'], ['/guide/composables/use-menu-category', 'useMenuCategory'], - ['/guide/composables/use-page', 'usePage'], + ['/guide/composables/use-newsletter', 'useNewsletter'], ['/guide/composables/use-payment-provider', 'usePaymentProvider'], ['/guide/composables/use-product', 'useProduct'], - ['/guide/composables/use-router', 'useRouter'], + ['/guide/composables/use-related-products', 'useRelatedProducts'], + ['/guide/composables/use-review', 'useReview'], + ['/guide/composables/use-upsell-products', 'useUpsellProducts'], + ['/guide/composables/use-url-resolver', 'useUrlResolver'], + ['/guide/composables/use-wishlist', 'useWishlist'], + ] + }, + { + title: 'Reference', + children: [ + ['/api-reference/', 'API Reference'], + ] + }, + { + title: 'Nuxt Tips & Tricks', + children: [ + ['/improvements/optimization/', 'Optimization'], + ['/improvements/security/', 'Security'], + ['/improvements/logging/', 'Logging'], + ['/improvements/analytics/', 'Analytics'], ] } ] diff --git a/docs/.vuepress/styles/index.styl b/docs/.vuepress/styles/index.styl old mode 100755 new mode 100644 index 420feb93f..fad3ec455 --- a/docs/.vuepress/styles/index.styl +++ b/docs/.vuepress/styles/index.styl @@ -1,8 +1,27 @@ -/** - * Custom Styles here. - * - * ref:https://v1.vuepress.vuejs.org/config/#index-styl - */ - -.home .hero img - max-width 450px!important + +.site-name { + display: none !important; +} + +.badge { + margin-top: 4px; + background-color: #22c34b; +} + +.badge.info { + background-color: #22c34b !important; +} + +.multiselect__tag { + background: #22c34b !important; +} + +.custom-block.tip { + border-color: #22c34b; + background-color: #f0f7f2; +} + +a code { + color: $accentColor !important; + font-weight: bold; +} diff --git a/docs/.vuepress/styles/palette.styl b/docs/.vuepress/styles/palette.styl old mode 100755 new mode 100644 index 6490cb359..9305fc9aa --- a/docs/.vuepress/styles/palette.styl +++ b/docs/.vuepress/styles/palette.styl @@ -4,7 +4,7 @@ * ref:https://v1.vuepress.vuejs.org/zh/config/#palette-styl */ -$accentColor = #3eaf7c +$accentColor = #22c34b $textColor = #2c3e50 $borderColor = #eaecef $codeBgColor = #282c34 diff --git a/docs/.vuepress/theme/index.js b/docs/.vuepress/theme/index.js new file mode 100644 index 000000000..cc636ec82 --- /dev/null +++ b/docs/.vuepress/theme/index.js @@ -0,0 +1,3 @@ +module.exports = { + extend: '@vuepress/theme-default' +}; diff --git a/docs/.vuepress/theme/layouts/Layout.vue b/docs/.vuepress/theme/layouts/Layout.vue new file mode 100644 index 000000000..ef47d49f3 --- /dev/null +++ b/docs/.vuepress/theme/layouts/Layout.vue @@ -0,0 +1,162 @@ + + + diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md new file mode 100644 index 000000000..9f7a53677 --- /dev/null +++ b/docs/api-reference/index.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) + +## API Reference + +## Packages + +| Package | Description | +| --- | --- | +| [@vue-storefront/magento](./magento.md) | | +| [@vue-storefront/magento-api](./magento-api.md) | api-client for Magento 2 integration for Vue Storefront 2. | + diff --git a/docs/api-reference/magento-api.addbundleproductstocart.md b/docs/api-reference/magento-api.addbundleproductstocart.md new file mode 100644 index 000000000..19a0d5b18 --- /dev/null +++ b/docs/api-reference/magento-api.addbundleproductstocart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addBundleProductsToCart](./magento-api.addbundleproductstocart.md) + +## addBundleProductsToCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: AddBundleProductsToCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.addconfigurableproductstocart.md b/docs/api-reference/magento-api.addconfigurableproductstocart.md new file mode 100644 index 000000000..b096ddaca --- /dev/null +++ b/docs/api-reference/magento-api.addconfigurableproductstocart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addConfigurableProductsToCart](./magento-api.addconfigurableproductstocart.md) + +## addConfigurableProductsToCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: AddConfigurableProductsToCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.addproductstocart.md b/docs/api-reference/magento-api.addproductstocart.md new file mode 100644 index 000000000..c12447561 --- /dev/null +++ b/docs/api-reference/magento-api.addproductstocart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addProductsToCart](./magento-api.addproductstocart.md) + +## addProductsToCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: AddProductsToCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.addproducttowishlist.md b/docs/api-reference/magento-api.addproducttowishlist.md new file mode 100644 index 000000000..a275e7eac --- /dev/null +++ b/docs/api-reference/magento-api.addproducttowishlist.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addProductToWishList](./magento-api.addproducttowishlist.md) + +## addProductToWishList variable + +Signature: + +```typescript +_default: ({ client }: Context, input: AddProductsToWishlistMutationVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.addsimpleproductstocart.md b/docs/api-reference/magento-api.addsimpleproductstocart.md new file mode 100644 index 000000000..63291ad26 --- /dev/null +++ b/docs/api-reference/magento-api.addsimpleproductstocart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addSimpleProductsToCart](./magento-api.addsimpleproductstocart.md) + +## addSimpleProductsToCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: AddSimpleProductsToCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.applycoupontocart.md b/docs/api-reference/magento-api.applycoupontocart.md new file mode 100644 index 000000000..b5317c9f7 --- /dev/null +++ b/docs/api-reference/magento-api.applycoupontocart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [applyCouponToCart](./magento-api.applycoupontocart.md) + +## applyCouponToCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: ApplyCouponToCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.cart.md b/docs/api-reference/magento-api.cart.md new file mode 100644 index 000000000..382a8cab4 --- /dev/null +++ b/docs/api-reference/magento-api.cart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cart](./magento-api.cart.md) + +## cart variable + +Signature: + +```typescript +_default: ({ client }: Context, cartId: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.categorylist.md b/docs/api-reference/magento-api.categorylist.md new file mode 100644 index 000000000..712d6d061 --- /dev/null +++ b/docs/api-reference/magento-api.categorylist.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [categoryList](./magento-api.categorylist.md) + +## categoryList variable + +Signature: + +```typescript +_default: ({ client }: Context, params: CategoryListQueryVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.categorysearch.md b/docs/api-reference/magento-api.categorysearch.md new file mode 100644 index 000000000..9ec12c347 --- /dev/null +++ b/docs/api-reference/magento-api.categorysearch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [categorySearch](./magento-api.categorysearch.md) + +## categorySearch variable + +Signature: + +```typescript +_default: ({ client }: Context, params: CategorySearchQueryVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.changecustomerpassword.md b/docs/api-reference/magento-api.changecustomerpassword.md new file mode 100644 index 000000000..a4da00e24 --- /dev/null +++ b/docs/api-reference/magento-api.changecustomerpassword.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [changeCustomerPassword](./magento-api.changecustomerpassword.md) + +## changeCustomerPassword variable + +Signature: + +```typescript +_default: ({ client }: Context, currentPassword: string, newPassword: string) => Promise +``` diff --git a/docs/api-reference/magento-api.cmsblocks.md b/docs/api-reference/magento-api.cmsblocks.md new file mode 100644 index 000000000..20248de6e --- /dev/null +++ b/docs/api-reference/magento-api.cmsblocks.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cmsBlocks](./magento-api.cmsblocks.md) + +## cmsBlocks variable + +Signature: + +```typescript +_default: ({ client }: Context, identifiers: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.cmspage.md b/docs/api-reference/magento-api.cmspage.md new file mode 100644 index 000000000..af12ec538 --- /dev/null +++ b/docs/api-reference/magento-api.cmspage.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cmsPage](./magento-api.cmspage.md) + +## cmsPage variable + +Signature: + +```typescript +_default: ({ client }: Context, identifier: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.countries.md b/docs/api-reference/magento-api.countries.md new file mode 100644 index 000000000..c615f4bda --- /dev/null +++ b/docs/api-reference/magento-api.countries.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [countries](./magento-api.countries.md) + +## countries variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.country.md b/docs/api-reference/magento-api.country.md new file mode 100644 index 000000000..ce14ad656 --- /dev/null +++ b/docs/api-reference/magento-api.country.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [country](./magento-api.country.md) + +## country variable + +Signature: + +```typescript +_default: ({ client }: Context, id: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.createcustomer.md b/docs/api-reference/magento-api.createcustomer.md new file mode 100644 index 000000000..d10d4c127 --- /dev/null +++ b/docs/api-reference/magento-api.createcustomer.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createCustomer](./magento-api.createcustomer.md) + +## createCustomer variable + +Signature: + +```typescript +_default: (context: Context, input: CustomerCreateInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.createcustomeraddress.md b/docs/api-reference/magento-api.createcustomeraddress.md new file mode 100644 index 000000000..19a205d26 --- /dev/null +++ b/docs/api-reference/magento-api.createcustomeraddress.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createCustomerAddress](./magento-api.createcustomeraddress.md) + +## createCustomerAddress variable + +Signature: + +```typescript +_default: ({ client }: Context, input: CustomerAddressInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.createemptycart.md b/docs/api-reference/magento-api.createemptycart.md new file mode 100644 index 000000000..047b40c47 --- /dev/null +++ b/docs/api-reference/magento-api.createemptycart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createEmptyCart](./magento-api.createemptycart.md) + +## createEmptyCart variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.createproductreview.md b/docs/api-reference/magento-api.createproductreview.md new file mode 100644 index 000000000..4b16e927f --- /dev/null +++ b/docs/api-reference/magento-api.createproductreview.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createProductReview](./magento-api.createproductreview.md) + +## createProductReview variable + +Signature: + +```typescript +_default: ({ client }: Context, input: CreateProductReviewMutationVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.customer.md b/docs/api-reference/magento-api.customer.md new file mode 100644 index 000000000..440fabf96 --- /dev/null +++ b/docs/api-reference/magento-api.customer.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customer](./magento-api.customer.md) + +## customer variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.customercart.md b/docs/api-reference/magento-api.customercart.md new file mode 100644 index 000000000..bc4ba075c --- /dev/null +++ b/docs/api-reference/magento-api.customercart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerCart](./magento-api.customercart.md) + +## customerCart variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.customerorders.md b/docs/api-reference/magento-api.customerorders.md new file mode 100644 index 000000000..d7f7f08de --- /dev/null +++ b/docs/api-reference/magento-api.customerorders.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerOrders](./magento-api.customerorders.md) + +## customerOrders variable + +Signature: + +```typescript +_default: ({ client }: Context, orderParams: CustomerOrdersQueryVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.customerproductreview.md b/docs/api-reference/magento-api.customerproductreview.md new file mode 100644 index 000000000..9af2be7f0 --- /dev/null +++ b/docs/api-reference/magento-api.customerproductreview.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerProductReview](./magento-api.customerproductreview.md) + +## customerProductReview variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: CustomerProductReviewParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.custommutation.md b/docs/api-reference/magento-api.custommutation.md new file mode 100644 index 000000000..adab6e892 --- /dev/null +++ b/docs/api-reference/magento-api.custommutation.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customMutation](./magento-api.custommutation.md) + +## customMutation variable + +Signature: + +```typescript +_default: ({ client }: Context, { mutation, mutationVariables, fetchPolicy, }: { + mutation: MUTATION; + mutationVariables: MUTATION_VARIABLES; + fetchPolicy?: FetchPolicy; +}) => Promise, Record>> +``` diff --git a/docs/api-reference/magento-api.customquery.md b/docs/api-reference/magento-api.customquery.md new file mode 100644 index 000000000..98cc2cdd3 --- /dev/null +++ b/docs/api-reference/magento-api.customquery.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customQuery](./magento-api.customquery.md) + +## customQuery variable + +Signature: + +```typescript +_default: ({ client }: Context, { query, queryVariables, fetchPolicy, }: { + query: QUERY; + queryVariables?: QUERY_VARIABLES; + fetchPolicy?: FetchPolicy; +}) => Promise> +``` diff --git a/docs/api-reference/magento-api.deletecustomeraddress.md b/docs/api-reference/magento-api.deletecustomeraddress.md new file mode 100644 index 000000000..bf6de201a --- /dev/null +++ b/docs/api-reference/magento-api.deletecustomeraddress.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [deleteCustomerAddress](./magento-api.deletecustomeraddress.md) + +## deleteCustomerAddress variable + +Signature: + +```typescript +_default: ({ client }: Context, addressId: number) => Promise> +``` diff --git a/docs/api-reference/magento-api.generatecustomertoken.md b/docs/api-reference/magento-api.generatecustomertoken.md new file mode 100644 index 000000000..c755eddca --- /dev/null +++ b/docs/api-reference/magento-api.generatecustomertoken.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [generateCustomerToken](./magento-api.generatecustomertoken.md) + +## generateCustomerToken variable + +Signature: + +```typescript +_default: ({ client }: Context, email: string, password: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md b/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md new file mode 100644 index 000000000..5d2c4da1f --- /dev/null +++ b/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableCustomerPaymentMethods](./magento-api.getavailablecustomerpaymentmethods.md) + +## getAvailableCustomerPaymentMethods variable + +Signature: + +```typescript +_default: (context: Context, params: { + cartId: string; +}, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.getavailablecustomershippingmethods.md b/docs/api-reference/magento-api.getavailablecustomershippingmethods.md new file mode 100644 index 000000000..c6c398d59 --- /dev/null +++ b/docs/api-reference/magento-api.getavailablecustomershippingmethods.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableCustomerShippingMethods](./magento-api.getavailablecustomershippingmethods.md) + +## getAvailableCustomerShippingMethods variable + +Signature: + +```typescript +_default: (context: Context, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.getavailablepaymentmethods.md b/docs/api-reference/magento-api.getavailablepaymentmethods.md new file mode 100644 index 000000000..fd4723d57 --- /dev/null +++ b/docs/api-reference/magento-api.getavailablepaymentmethods.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailablePaymentMethods](./magento-api.getavailablepaymentmethods.md) + +## getAvailablePaymentMethods variable + +Signature: + +```typescript +_default: (context: Context, params: { + cartId: string; +}, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.getavailableshippingmethods.md b/docs/api-reference/magento-api.getavailableshippingmethods.md new file mode 100644 index 000000000..b8c205abe --- /dev/null +++ b/docs/api-reference/magento-api.getavailableshippingmethods.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableShippingMethods](./magento-api.getavailableshippingmethods.md) + +## getAvailableShippingMethods variable + +Signature: + +```typescript +_default: (context: Context, params: { + cartId: string; +}, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.getcustomeraddresses.md b/docs/api-reference/magento-api.getcustomeraddresses.md new file mode 100644 index 000000000..9c45505f7 --- /dev/null +++ b/docs/api-reference/magento-api.getcustomeraddresses.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getCustomerAddresses](./magento-api.getcustomeraddresses.md) + +## getCustomerAddresses variable + +Signature: + +```typescript +_default: (context: Context, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.md b/docs/api-reference/magento-api.md new file mode 100644 index 000000000..c1ebf62c5 --- /dev/null +++ b/docs/api-reference/magento-api.md @@ -0,0 +1,75 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) + +## magento-api package + +`api-client` for Magento 2 integration for Vue Storefront 2. + +## Remarks + +The `@vue-storefront/magento2` library includes everything needed to fetch data from the Magento 2 eCommerce platform. This includes API client configuration, API endpoints, and GraphQL types and fragments. + +## Variables + +| Variable | Description | +| --- | --- | +| [addBundleProductsToCart](./magento-api.addbundleproductstocart.md) | | +| [addConfigurableProductsToCart](./magento-api.addconfigurableproductstocart.md) | | +| [addProductsToCart](./magento-api.addproductstocart.md) | | +| [addProductToWishList](./magento-api.addproducttowishlist.md) | | +| [addSimpleProductsToCart](./magento-api.addsimpleproductstocart.md) | | +| [applyCouponToCart](./magento-api.applycoupontocart.md) | | +| [cart](./magento-api.cart.md) | | +| [categoryList](./magento-api.categorylist.md) | | +| [categorySearch](./magento-api.categorysearch.md) | | +| [changeCustomerPassword](./magento-api.changecustomerpassword.md) | | +| [cmsBlocks](./magento-api.cmsblocks.md) | | +| [cmsPage](./magento-api.cmspage.md) | | +| [countries](./magento-api.countries.md) | | +| [country](./magento-api.country.md) | | +| [createCustomer](./magento-api.createcustomer.md) | | +| [createCustomerAddress](./magento-api.createcustomeraddress.md) | | +| [createEmptyCart](./magento-api.createemptycart.md) | | +| [createProductReview](./magento-api.createproductreview.md) | | +| [customer](./magento-api.customer.md) | | +| [customerCart](./magento-api.customercart.md) | | +| [customerOrders](./magento-api.customerorders.md) | | +| [customerProductReview](./magento-api.customerproductreview.md) | | +| [customMutation](./magento-api.custommutation.md) | | +| [customQuery](./magento-api.customquery.md) | | +| [deleteCustomerAddress](./magento-api.deletecustomeraddress.md) | | +| [generateCustomerToken](./magento-api.generatecustomertoken.md) | | +| [getAvailableCustomerPaymentMethods](./magento-api.getavailablecustomerpaymentmethods.md) | | +| [getAvailableCustomerShippingMethods](./magento-api.getavailablecustomershippingmethods.md) | | +| [getAvailablePaymentMethods](./magento-api.getavailablepaymentmethods.md) | | +| [getAvailableShippingMethods](./magento-api.getavailableshippingmethods.md) | | +| [getCustomerAddresses](./magento-api.getcustomeraddresses.md) | | +| [mergeCarts](./magento-api.mergecarts.md) | | +| [placeOrder](./magento-api.placeorder.md) | | +| [productDetail](./magento-api.productdetail.md) | | +| [productReview](./magento-api.productreview.md) | | +| [productReviewRatingsMetadata](./magento-api.productreviewratingsmetadata.md) | | +| [products](./magento-api.products.md) | | +| [relatedProduct](./magento-api.relatedproduct.md) | | +| [removeCouponFromCart](./magento-api.removecouponfromcart.md) | | +| [removeItemFromCart](./magento-api.removeitemfromcart.md) | | +| [removeProductsFromWishlist](./magento-api.removeproductsfromwishlist.md) | | +| [requestPasswordResetEmail](./magento-api.requestpasswordresetemail.md) | | +| [resetPassword](./magento-api.resetpassword.md) | | +| [revokeCustomerToken](./magento-api.revokecustomertoken.md) | | +| [setBillingAddressOnCart](./magento-api.setbillingaddressoncart.md) | | +| [setGuestEmailOnCart](./magento-api.setguestemailoncart.md) | | +| [setPaymentMethodOnCart](./magento-api.setpaymentmethodoncart.md) | | +| [setShippingAddressesOnCart](./magento-api.setshippingaddressesoncart.md) | | +| [setShippingMethodsOnCart](./magento-api.setshippingmethodsoncart.md) | | +| [storeConfig](./magento-api.storeconfig.md) | | +| [subscribeEmailToNewsletter](./magento-api.subscribeemailtonewsletter.md) | | +| [updateCartItems](./magento-api.updatecartitems.md) | | +| [updateCustomer](./magento-api.updatecustomer.md) | | +| [updateCustomerAddress](./magento-api.updatecustomeraddress.md) | | +| [updateCustomerEmail](./magento-api.updatecustomeremail.md) | | +| [upsellProduct](./magento-api.upsellproduct.md) | | +| [urlResolver](./magento-api.urlresolver.md) | | +| [wishlist](./magento-api.wishlist.md) | | + diff --git a/docs/api-reference/magento-api.mergecarts.md b/docs/api-reference/magento-api.mergecarts.md new file mode 100644 index 000000000..c00aea8e4 --- /dev/null +++ b/docs/api-reference/magento-api.mergecarts.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [mergeCarts](./magento-api.mergecarts.md) + +## mergeCarts variable + +Signature: + +```typescript +_default: ({ client }: Context, sourceCartId: string, destinationCartId: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.placeorder.md b/docs/api-reference/magento-api.placeorder.md new file mode 100644 index 000000000..356c5dad1 --- /dev/null +++ b/docs/api-reference/magento-api.placeorder.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [placeOrder](./magento-api.placeorder.md) + +## placeOrder variable + +Signature: + +```typescript +_default: (context: Context, input: PlaceOrderInput, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.productdetail.md b/docs/api-reference/magento-api.productdetail.md new file mode 100644 index 000000000..f61c4f846 --- /dev/null +++ b/docs/api-reference/magento-api.productdetail.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productDetail](./magento-api.productdetail.md) + +## productDetail variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.productreview.md b/docs/api-reference/magento-api.productreview.md new file mode 100644 index 000000000..a92cae901 --- /dev/null +++ b/docs/api-reference/magento-api.productreview.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productReview](./magento-api.productreview.md) + +## productReview variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.productreviewratingsmetadata.md b/docs/api-reference/magento-api.productreviewratingsmetadata.md new file mode 100644 index 000000000..aa0122553 --- /dev/null +++ b/docs/api-reference/magento-api.productreviewratingsmetadata.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productReviewRatingsMetadata](./magento-api.productreviewratingsmetadata.md) + +## productReviewRatingsMetadata variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.products.md b/docs/api-reference/magento-api.products.md new file mode 100644 index 000000000..d8b3bfe77 --- /dev/null +++ b/docs/api-reference/magento-api.products.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [products](./magento-api.products.md) + +## products variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.relatedproduct.md b/docs/api-reference/magento-api.relatedproduct.md new file mode 100644 index 000000000..e91068ffe --- /dev/null +++ b/docs/api-reference/magento-api.relatedproduct.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [relatedProduct](./magento-api.relatedproduct.md) + +## relatedProduct variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.removecouponfromcart.md b/docs/api-reference/magento-api.removecouponfromcart.md new file mode 100644 index 000000000..de21479a5 --- /dev/null +++ b/docs/api-reference/magento-api.removecouponfromcart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeCouponFromCart](./magento-api.removecouponfromcart.md) + +## removeCouponFromCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: RemoveCouponFromCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.removeitemfromcart.md b/docs/api-reference/magento-api.removeitemfromcart.md new file mode 100644 index 000000000..a4fa78feb --- /dev/null +++ b/docs/api-reference/magento-api.removeitemfromcart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeItemFromCart](./magento-api.removeitemfromcart.md) + +## removeItemFromCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: RemoveItemFromCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.removeproductsfromwishlist.md b/docs/api-reference/magento-api.removeproductsfromwishlist.md new file mode 100644 index 000000000..20af9bccf --- /dev/null +++ b/docs/api-reference/magento-api.removeproductsfromwishlist.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeProductsFromWishlist](./magento-api.removeproductsfromwishlist.md) + +## removeProductsFromWishlist variable + +Signature: + +```typescript +_default: ({ client }: Context, input: RemoveProductsFromWishlistMutationVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.requestpasswordresetemail.md b/docs/api-reference/magento-api.requestpasswordresetemail.md new file mode 100644 index 000000000..c2540bed6 --- /dev/null +++ b/docs/api-reference/magento-api.requestpasswordresetemail.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [requestPasswordResetEmail](./magento-api.requestpasswordresetemail.md) + +## requestPasswordResetEmail variable + +Signature: + +```typescript +_default: (context: Context, input: RequestPasswordResetEmailMutationVariables, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.resetpassword.md b/docs/api-reference/magento-api.resetpassword.md new file mode 100644 index 000000000..26d927568 --- /dev/null +++ b/docs/api-reference/magento-api.resetpassword.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [resetPassword](./magento-api.resetpassword.md) + +## resetPassword variable + +Signature: + +```typescript +_default: (context: Context, input: ResetPasswordMutationVariables, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.revokecustomertoken.md b/docs/api-reference/magento-api.revokecustomertoken.md new file mode 100644 index 000000000..5e61053a8 --- /dev/null +++ b/docs/api-reference/magento-api.revokecustomertoken.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [revokeCustomerToken](./magento-api.revokecustomertoken.md) + +## revokeCustomerToken variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.setbillingaddressoncart.md b/docs/api-reference/magento-api.setbillingaddressoncart.md new file mode 100644 index 000000000..4a88921c3 --- /dev/null +++ b/docs/api-reference/magento-api.setbillingaddressoncart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setBillingAddressOnCart](./magento-api.setbillingaddressoncart.md) + +## setBillingAddressOnCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: SetBillingAddressOnCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.setguestemailoncart.md b/docs/api-reference/magento-api.setguestemailoncart.md new file mode 100644 index 000000000..32cccf43f --- /dev/null +++ b/docs/api-reference/magento-api.setguestemailoncart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setGuestEmailOnCart](./magento-api.setguestemailoncart.md) + +## setGuestEmailOnCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: SetGuestEmailOnCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.setpaymentmethodoncart.md b/docs/api-reference/magento-api.setpaymentmethodoncart.md new file mode 100644 index 000000000..a36a7afb3 --- /dev/null +++ b/docs/api-reference/magento-api.setpaymentmethodoncart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setPaymentMethodOnCart](./magento-api.setpaymentmethodoncart.md) + +## setPaymentMethodOnCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: SetPaymentMethodOnCartInputs) => Promise> +``` diff --git a/docs/api-reference/magento-api.setshippingaddressesoncart.md b/docs/api-reference/magento-api.setshippingaddressesoncart.md new file mode 100644 index 000000000..51c4f5910 --- /dev/null +++ b/docs/api-reference/magento-api.setshippingaddressesoncart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setShippingAddressesOnCart](./magento-api.setshippingaddressesoncart.md) + +## setShippingAddressesOnCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: SetShippingAddressesOnCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.setshippingmethodsoncart.md b/docs/api-reference/magento-api.setshippingmethodsoncart.md new file mode 100644 index 000000000..93a90073f --- /dev/null +++ b/docs/api-reference/magento-api.setshippingmethodsoncart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setShippingMethodsOnCart](./magento-api.setshippingmethodsoncart.md) + +## setShippingMethodsOnCart variable + +Signature: + +```typescript +_default: ({ client }: Context, input: SetShippingMethodsOnCartInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.storeconfig.md b/docs/api-reference/magento-api.storeconfig.md new file mode 100644 index 000000000..5066cebc8 --- /dev/null +++ b/docs/api-reference/magento-api.storeconfig.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [storeConfig](./magento-api.storeconfig.md) + +## storeConfig variable + +Signature: + +```typescript +_default: ({ client }: Context) => Promise> +``` diff --git a/docs/api-reference/magento-api.subscribeemailtonewsletter.md b/docs/api-reference/magento-api.subscribeemailtonewsletter.md new file mode 100644 index 000000000..05b2c5eee --- /dev/null +++ b/docs/api-reference/magento-api.subscribeemailtonewsletter.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [subscribeEmailToNewsletter](./magento-api.subscribeemailtonewsletter.md) + +## subscribeEmailToNewsletter variable + +Signature: + +```typescript +_default: ({ client }: Context, { email }: SubscribeEmailToNewsletterMutationVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.updatecartitems.md b/docs/api-reference/magento-api.updatecartitems.md new file mode 100644 index 000000000..e9dbef061 --- /dev/null +++ b/docs/api-reference/magento-api.updatecartitems.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCartItems](./magento-api.updatecartitems.md) + +## updateCartItems variable + +Signature: + +```typescript +_default: ({ client }: Context, input: UpdateCartItemsInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.updatecustomer.md b/docs/api-reference/magento-api.updatecustomer.md new file mode 100644 index 000000000..d23141868 --- /dev/null +++ b/docs/api-reference/magento-api.updatecustomer.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomer](./magento-api.updatecustomer.md) + +## updateCustomer variable + +Signature: + +```typescript +_default: ({ client }: Context, input: CustomerUpdateInput) => Promise> +``` diff --git a/docs/api-reference/magento-api.updatecustomeraddress.md b/docs/api-reference/magento-api.updatecustomeraddress.md new file mode 100644 index 000000000..b63666374 --- /dev/null +++ b/docs/api-reference/magento-api.updatecustomeraddress.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomerAddress](./magento-api.updatecustomeraddress.md) + +## updateCustomerAddress variable + +Signature: + +```typescript +_default: ({ client }: Context, params: { + addressId: number; + input: CustomerAddressInput; +}) => Promise> +``` diff --git a/docs/api-reference/magento-api.updatecustomeremail.md b/docs/api-reference/magento-api.updatecustomeremail.md new file mode 100644 index 000000000..49b1b3977 --- /dev/null +++ b/docs/api-reference/magento-api.updatecustomeremail.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomerEmail](./magento-api.updatecustomeremail.md) + +## updateCustomerEmail variable + +Signature: + +```typescript +_default: ({ client }: Context, input: UpdateCustomerEmailMutationVariables) => Promise> +``` diff --git a/docs/api-reference/magento-api.upsellproduct.md b/docs/api-reference/magento-api.upsellproduct.md new file mode 100644 index 000000000..93032c3cf --- /dev/null +++ b/docs/api-reference/magento-api.upsellproduct.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [upsellProduct](./magento-api.upsellproduct.md) + +## upsellProduct variable + +Signature: + +```typescript +_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise> +``` diff --git a/docs/api-reference/magento-api.urlresolver.md b/docs/api-reference/magento-api.urlresolver.md new file mode 100644 index 000000000..7fce2addc --- /dev/null +++ b/docs/api-reference/magento-api.urlresolver.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [urlResolver](./magento-api.urlresolver.md) + +## urlResolver variable + +Signature: + +```typescript +_default: ({ client }: Context, url: string) => Promise> +``` diff --git a/docs/api-reference/magento-api.wishlist.md b/docs/api-reference/magento-api.wishlist.md new file mode 100644 index 000000000..0bb145fa1 --- /dev/null +++ b/docs/api-reference/magento-api.wishlist.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [wishlist](./magento-api.wishlist.md) + +## wishlist variable + +Signature: + +```typescript +_default: ({ client }: Context, queryParams: WishlistQueryVariables) => Promise> +``` diff --git a/docs/api-reference/magento.addressgetter.md b/docs/api-reference/magento.addressgetter.md new file mode 100644 index 000000000..500554ac4 --- /dev/null +++ b/docs/api-reference/magento.addressgetter.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [addressGetter](./magento.addressgetter.md) + +## addressGetter variable + +Signature: + +```typescript +_default: AddressGetter +``` diff --git a/docs/api-reference/magento.cartgetters.md b/docs/api-reference/magento.cartgetters.md new file mode 100644 index 000000000..e90a36095 --- /dev/null +++ b/docs/api-reference/magento.cartgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [cartGetters](./magento.cartgetters.md) + +## cartGetters variable + +Signature: + +```typescript +cartGetters: CartGetters +``` diff --git a/docs/api-reference/magento.categorygetters.md b/docs/api-reference/magento.categorygetters.md new file mode 100644 index 000000000..57391e837 --- /dev/null +++ b/docs/api-reference/magento.categorygetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [categoryGetters](./magento.categorygetters.md) + +## categoryGetters variable + +Signature: + +```typescript +categoryGetters: CategoryGetters +``` diff --git a/docs/api-reference/magento.checkoutgetters.md b/docs/api-reference/magento.checkoutgetters.md new file mode 100644 index 000000000..a5f93f5aa --- /dev/null +++ b/docs/api-reference/magento.checkoutgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [checkoutGetters](./magento.checkoutgetters.md) + +## checkoutGetters variable + +Signature: + +```typescript +checkoutGetters: CheckoutGetters +``` diff --git a/docs/api-reference/magento.facetgetters.md b/docs/api-reference/magento.facetgetters.md new file mode 100644 index 000000000..966914a72 --- /dev/null +++ b/docs/api-reference/magento.facetgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [facetGetters](./magento.facetgetters.md) + +## facetGetters variable + +Signature: + +```typescript +facetGetters: FacetsGetters +``` diff --git a/docs/api-reference/magento.forgotpasswordgetters.md b/docs/api-reference/magento.forgotpasswordgetters.md new file mode 100644 index 000000000..0c5d78493 --- /dev/null +++ b/docs/api-reference/magento.forgotpasswordgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [forgotPasswordGetters](./magento.forgotpasswordgetters.md) + +## forgotPasswordGetters variable + +Signature: + +```typescript +forgotPasswordGetters: ForgotPasswordGetters +``` diff --git a/docs/api-reference/magento.md b/docs/api-reference/magento.md new file mode 100644 index 000000000..4df3ee36d --- /dev/null +++ b/docs/api-reference/magento.md @@ -0,0 +1,55 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) + +## magento package + +## Variables + +| Variable | Description | +| --- | --- | +| [addressGetter](./magento.addressgetter.md) | | +| [cartGetters](./magento.cartgetters.md) | | +| [categoryGetters](./magento.categorygetters.md) | | +| [checkoutGetters](./magento.checkoutgetters.md) | | +| [facetGetters](./magento.facetgetters.md) | | +| [forgotPasswordGetters](./magento.forgotpasswordgetters.md) | | +| [orderGetters](./magento.ordergetters.md) | | +| [productGetters](./magento.productgetters.md) | | +| [reviewGetters](./magento.reviewgetters.md) | | +| [useAddresses](./magento.useaddresses.md) | | +| [useBilling](./magento.usebilling.md) | | +| [useCart](./magento.usecart.md) | | +| [useCategory](./magento.usecategory.md) | | +| [useCategorySearch](./magento.usecategorysearch.md) | | +| [useConfig](./magento.useconfig.md) | | +| [useContent](./magento.usecontent.md) | | +| [useCountrySearch](./magento.usecountrysearch.md) | | +| [useCustomMutation](./magento.usecustommutation.md) | | +| [useCustomQuery](./magento.usecustomquery.md) | | +| [useExternalCheckout](./magento.useexternalcheckout.md) | | +| [useFacet](./magento.usefacet.md) | | +| [useForgotPassword](./magento.useforgotpassword.md) | | +| [useGetShippingMethods](./magento.usegetshippingmethods.md) | | +| [useGuestUser](./magento.useguestuser.md) | | +| [useMakeOrder](./magento.usemakeorder.md) | | +| [useNewsletter](./magento.usenewsletter.md) | | +| [usePaymentProvider](./magento.usepaymentprovider.md) | | +| [useProduct](./magento.useproduct.md) | | +| [userAddressesGetters](./magento.useraddressesgetters.md) | | +| [userBillingGetters](./magento.userbillinggetters.md) | | +| [useRelatedProducts](./magento.userelatedproducts.md) | | +| [useReview](./magento.usereview.md) | | +| [userGetters](./magento.usergetters.md) | | +| [userShippingGetters](./magento.usershippinggetters.md) | | +| [useShipping](./magento.useshipping.md) | | +| [useShippingProvider](./magento.useshippingprovider.md) | | +| [useUpsellProducts](./magento.useupsellproducts.md) | | +| [useUrlResolver](./magento.useurlresolver.md) | | +| [useUser](./magento.useuser.md) | | +| [useUserBilling](./magento.useuserbilling.md) | | +| [useUserOrder](./magento.useuserorder.md) | | +| [useUserShipping](./magento.useusershipping.md) | | +| [useWishlist](./magento.usewishlist.md) | | +| [wishlistGetters](./magento.wishlistgetters.md) | | + diff --git a/docs/api-reference/magento.ordergetters.md b/docs/api-reference/magento.ordergetters.md new file mode 100644 index 000000000..15b8c2068 --- /dev/null +++ b/docs/api-reference/magento.ordergetters.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [orderGetters](./magento.ordergetters.md) + +## orderGetters variable + +Signature: + +```typescript +orderGetters: { + getDate: (order: any) => string; + getId: (order: any) => string; + getStatus: (order: any) => string; + getPrice: (order: any) => number | null; + getItems: (order: any) => any[]; + getItemSku: (item: any) => string; + getItemName: (item: any) => string; + getItemQty: (item: any) => number; + getItemPrice: (item: any) => number; + getFormattedPrice: (price: number) => string; +} +``` diff --git a/docs/api-reference/magento.productgetters.md b/docs/api-reference/magento.productgetters.md new file mode 100644 index 000000000..ebfd7cf75 --- /dev/null +++ b/docs/api-reference/magento.productgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [productGetters](./magento.productgetters.md) + +## productGetters variable + +Signature: + +```typescript +productGetters: ProductGetters +``` diff --git a/docs/api-reference/magento.reviewgetters.md b/docs/api-reference/magento.reviewgetters.md new file mode 100644 index 000000000..067fc33b1 --- /dev/null +++ b/docs/api-reference/magento.reviewgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [reviewGetters](./magento.reviewgetters.md) + +## reviewGetters variable + +Signature: + +```typescript +reviewGetters: MagentoReviewGetters +``` diff --git a/docs/api-reference/magento.useaddresses.md b/docs/api-reference/magento.useaddresses.md new file mode 100644 index 000000000..a81a6b175 --- /dev/null +++ b/docs/api-reference/magento.useaddresses.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useAddresses](./magento.useaddresses.md) + +## useAddresses variable + +Signature: + +```typescript +_default: () => import("../../types/composables").UseAddresses +``` diff --git a/docs/api-reference/magento.usebilling.md b/docs/api-reference/magento.usebilling.md new file mode 100644 index 000000000..4853ec2e6 --- /dev/null +++ b/docs/api-reference/magento.usebilling.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useBilling](./magento.usebilling.md) + +## useBilling variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseBilling +``` diff --git a/docs/api-reference/magento.usecart.md b/docs/api-reference/magento.usecart.md new file mode 100644 index 000000000..d6b7e2d20 --- /dev/null +++ b/docs/api-reference/magento.usecart.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCart](./magento.usecart.md) + +## useCart variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseCart +``` diff --git a/docs/api-reference/magento.usecategory.md b/docs/api-reference/magento.usecategory.md new file mode 100644 index 000000000..92111367d --- /dev/null +++ b/docs/api-reference/magento.usecategory.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCategory](./magento.usecategory.md) + +## useCategory variable + +Signature: + +```typescript +_default: (id: string) => import("@vue-storefront/core").UseCategory +``` diff --git a/docs/api-reference/magento.usecategorysearch.md b/docs/api-reference/magento.usecategorysearch.md new file mode 100644 index 000000000..135c113e1 --- /dev/null +++ b/docs/api-reference/magento.usecategorysearch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCategorySearch](./magento.usecategorysearch.md) + +## useCategorySearch variable + +Signature: + +```typescript +useCategorySearch: (cacheId?: string) => UseCategorySearch +``` diff --git a/docs/api-reference/magento.useconfig.md b/docs/api-reference/magento.useconfig.md new file mode 100644 index 000000000..1d491a1b4 --- /dev/null +++ b/docs/api-reference/magento.useconfig.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useConfig](./magento.useconfig.md) + +## useConfig variable + +Signature: + +```typescript +useConfig: (cacheId?: string) => UseConfig +``` diff --git a/docs/api-reference/magento.usecontent.md b/docs/api-reference/magento.usecontent.md new file mode 100644 index 000000000..b98c174b4 --- /dev/null +++ b/docs/api-reference/magento.usecontent.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useContent](./magento.usecontent.md) + +## useContent variable + +Signature: + +```typescript +_default: (ssrKey?: string) => import("../../types/composables").UseContent +``` diff --git a/docs/api-reference/magento.usecountrysearch.md b/docs/api-reference/magento.usecountrysearch.md new file mode 100644 index 000000000..e1f4ced52 --- /dev/null +++ b/docs/api-reference/magento.usecountrysearch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCountrySearch](./magento.usecountrysearch.md) + +## useCountrySearch variable + +Signature: + +```typescript +useCountrySearch: (cacheId?: string) => UseCountrySearch +``` diff --git a/docs/api-reference/magento.usecustommutation.md b/docs/api-reference/magento.usecustommutation.md new file mode 100644 index 000000000..c0f3ad11e --- /dev/null +++ b/docs/api-reference/magento.usecustommutation.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCustomMutation](./magento.usecustommutation.md) + +## useCustomMutation variable + +Signature: + +```typescript +_default: (ssrKey?: string) => import("../../types/composables").UseCustomMutation, Record>, any> +``` diff --git a/docs/api-reference/magento.usecustomquery.md b/docs/api-reference/magento.usecustomquery.md new file mode 100644 index 000000000..c899cd955 --- /dev/null +++ b/docs/api-reference/magento.usecustomquery.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCustomQuery](./magento.usecustomquery.md) + +## useCustomQuery variable + +Signature: + +```typescript +_default: (ssrKey?: string) => import("../../types/composables").UseCustomQuery, any> +``` diff --git a/docs/api-reference/magento.useexternalcheckout.md b/docs/api-reference/magento.useexternalcheckout.md new file mode 100644 index 000000000..9fc3ba9dd --- /dev/null +++ b/docs/api-reference/magento.useexternalcheckout.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useExternalCheckout](./magento.useexternalcheckout.md) + +## useExternalCheckout variable + +Signature: + +```typescript +_default: (ssrKey?: string) => import("../../types/composables").UseExternalCheckout +``` diff --git a/docs/api-reference/magento.usefacet.md b/docs/api-reference/magento.usefacet.md new file mode 100644 index 000000000..b31f4f446 --- /dev/null +++ b/docs/api-reference/magento.usefacet.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useFacet](./magento.usefacet.md) + +## useFacet variable + +Signature: + +```typescript +_default: (id?: string) => import("@vue-storefront/core").UseFacet +``` diff --git a/docs/api-reference/magento.useforgotpassword.md b/docs/api-reference/magento.useforgotpassword.md new file mode 100644 index 000000000..31a448800 --- /dev/null +++ b/docs/api-reference/magento.useforgotpassword.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useForgotPassword](./magento.useforgotpassword.md) + +## useForgotPassword variable + +Signature: + +```typescript +useForgotPassword: () => import("@vue-storefront/core").UseForgotPassword +``` diff --git a/docs/api-reference/magento.usegetshippingmethods.md b/docs/api-reference/magento.usegetshippingmethods.md new file mode 100644 index 000000000..60e625dea --- /dev/null +++ b/docs/api-reference/magento.usegetshippingmethods.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useGetShippingMethods](./magento.usegetshippingmethods.md) + +## useGetShippingMethods variable + +Signature: + +```typescript +useGetShippingMethods: (cacheId?: string) => UseGetShippingMethods +``` diff --git a/docs/api-reference/magento.useguestuser.md b/docs/api-reference/magento.useguestuser.md new file mode 100644 index 000000000..d13116aae --- /dev/null +++ b/docs/api-reference/magento.useguestuser.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useGuestUser](./magento.useguestuser.md) + +## useGuestUser variable + +Signature: + +```typescript +_default: () => import("../../types/composables").UseGuestUser +``` diff --git a/docs/api-reference/magento.usemakeorder.md b/docs/api-reference/magento.usemakeorder.md new file mode 100644 index 000000000..ab27f74c2 --- /dev/null +++ b/docs/api-reference/magento.usemakeorder.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useMakeOrder](./magento.usemakeorder.md) + +## useMakeOrder variable + +Signature: + +```typescript +useMakeOrder: () => UseMakeOrder +``` diff --git a/docs/api-reference/magento.usenewsletter.md b/docs/api-reference/magento.usenewsletter.md new file mode 100644 index 000000000..d63c20ba5 --- /dev/null +++ b/docs/api-reference/magento.usenewsletter.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useNewsletter](./magento.usenewsletter.md) + +## useNewsletter variable + +Signature: + +```typescript +_default: () => import("../../types/composables").UseNewsletter +``` diff --git a/docs/api-reference/magento.usepaymentprovider.md b/docs/api-reference/magento.usepaymentprovider.md new file mode 100644 index 000000000..c988b2e52 --- /dev/null +++ b/docs/api-reference/magento.usepaymentprovider.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [usePaymentProvider](./magento.usepaymentprovider.md) + +## usePaymentProvider variable + +Signature: + +```typescript +_default: () => import("../../types/composables").UsePaymentProvider +``` diff --git a/docs/api-reference/magento.useproduct.md b/docs/api-reference/magento.useproduct.md new file mode 100644 index 000000000..64635b308 --- /dev/null +++ b/docs/api-reference/magento.useproduct.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useProduct](./magento.useproduct.md) + +## useProduct variable + +Signature: + +```typescript +useProduct: (cacheId?: string) => UseProduct +``` diff --git a/docs/api-reference/magento.useraddressesgetters.md b/docs/api-reference/magento.useraddressesgetters.md new file mode 100644 index 000000000..0f4b257da --- /dev/null +++ b/docs/api-reference/magento.useraddressesgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userAddressesGetters](./magento.useraddressesgetters.md) + +## userAddressesGetters variable + +Signature: + +```typescript +userAddressesGetters: UserAddressesGetters +``` diff --git a/docs/api-reference/magento.userbillinggetters.md b/docs/api-reference/magento.userbillinggetters.md new file mode 100644 index 000000000..45fb294b7 --- /dev/null +++ b/docs/api-reference/magento.userbillinggetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userBillingGetters](./magento.userbillinggetters.md) + +## userBillingGetters variable + +Signature: + +```typescript +userBillingGetters: UserBillingGetters +``` diff --git a/docs/api-reference/magento.userelatedproducts.md b/docs/api-reference/magento.userelatedproducts.md new file mode 100644 index 000000000..607704337 --- /dev/null +++ b/docs/api-reference/magento.userelatedproducts.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useRelatedProducts](./magento.userelatedproducts.md) + +## useRelatedProducts variable + +Signature: + +```typescript +useRelatedProducts: (cacheId?: string) => UseRelatedProducts +``` diff --git a/docs/api-reference/magento.usereview.md b/docs/api-reference/magento.usereview.md new file mode 100644 index 000000000..5d4df9e4a --- /dev/null +++ b/docs/api-reference/magento.usereview.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useReview](./magento.usereview.md) + +## useReview variable + +Signature: + +```typescript +_default: (id: string) => import("../../types/composables").UseReview, ComposableFunctionArgs, CreateProductReviewInput, ProductReviewRatingMetadata, any> +``` diff --git a/docs/api-reference/magento.usergetters.md b/docs/api-reference/magento.usergetters.md new file mode 100644 index 000000000..3b557ccae --- /dev/null +++ b/docs/api-reference/magento.usergetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userGetters](./magento.usergetters.md) + +## userGetters variable + +Signature: + +```typescript +userGetters: UserGetters +``` diff --git a/docs/api-reference/magento.usershippinggetters.md b/docs/api-reference/magento.usershippinggetters.md new file mode 100644 index 000000000..f771defd6 --- /dev/null +++ b/docs/api-reference/magento.usershippinggetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userShippingGetters](./magento.usershippinggetters.md) + +## userShippingGetters variable + +Signature: + +```typescript +userShippingGetters: UserShippingGetters +``` diff --git a/docs/api-reference/magento.useshipping.md b/docs/api-reference/magento.useshipping.md new file mode 100644 index 000000000..03340537d --- /dev/null +++ b/docs/api-reference/magento.useshipping.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useShipping](./magento.useshipping.md) + +## useShipping variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseShipping +``` diff --git a/docs/api-reference/magento.useshippingprovider.md b/docs/api-reference/magento.useshippingprovider.md new file mode 100644 index 000000000..7895c0d9d --- /dev/null +++ b/docs/api-reference/magento.useshippingprovider.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useShippingProvider](./magento.useshippingprovider.md) + +## useShippingProvider variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseShippingProvider +``` diff --git a/docs/api-reference/magento.useupsellproducts.md b/docs/api-reference/magento.useupsellproducts.md new file mode 100644 index 000000000..924677159 --- /dev/null +++ b/docs/api-reference/magento.useupsellproducts.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUpsellProducts](./magento.useupsellproducts.md) + +## useUpsellProducts variable + +Signature: + +```typescript +useUpsellProducts: (cacheId?: string) => UseUpsellProducts +``` diff --git a/docs/api-reference/magento.useurlresolver.md b/docs/api-reference/magento.useurlresolver.md new file mode 100644 index 000000000..7113529bc --- /dev/null +++ b/docs/api-reference/magento.useurlresolver.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUrlResolver](./magento.useurlresolver.md) + +## useUrlResolver variable + +Signature: + +```typescript +useUrlResolver: (cacheId?: string) => UseUrlResolver +``` diff --git a/docs/api-reference/magento.useuser.md b/docs/api-reference/magento.useuser.md new file mode 100644 index 000000000..8bd7ba597 --- /dev/null +++ b/docs/api-reference/magento.useuser.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUser](./magento.useuser.md) + +## useUser variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseUser +``` diff --git a/docs/api-reference/magento.useuserbilling.md b/docs/api-reference/magento.useuserbilling.md new file mode 100644 index 000000000..bd7ddc1dc --- /dev/null +++ b/docs/api-reference/magento.useuserbilling.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserBilling](./magento.useuserbilling.md) + +## useUserBilling variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseUserBilling +``` diff --git a/docs/api-reference/magento.useuserorder.md b/docs/api-reference/magento.useuserorder.md new file mode 100644 index 000000000..0aa6dba36 --- /dev/null +++ b/docs/api-reference/magento.useuserorder.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserOrder](./magento.useuserorder.md) + +## useUserOrder variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseUserOrder, any> +``` diff --git a/docs/api-reference/magento.useusershipping.md b/docs/api-reference/magento.useusershipping.md new file mode 100644 index 000000000..3cf342467 --- /dev/null +++ b/docs/api-reference/magento.useusershipping.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserShipping](./magento.useusershipping.md) + +## useUserShipping variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseUserShipping +``` diff --git a/docs/api-reference/magento.usewishlist.md b/docs/api-reference/magento.usewishlist.md new file mode 100644 index 000000000..16eac82a0 --- /dev/null +++ b/docs/api-reference/magento.usewishlist.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useWishlist](./magento.usewishlist.md) + +## useWishlist variable + +Signature: + +```typescript +_default: () => import("@vue-storefront/core").UseWishlist +``` diff --git a/docs/api-reference/magento.wishlistgetters.md b/docs/api-reference/magento.wishlistgetters.md new file mode 100644 index 000000000..22d891a93 --- /dev/null +++ b/docs/api-reference/magento.wishlistgetters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [wishlistGetters](./magento.wishlistgetters.md) + +## wishlistGetters variable + +Signature: + +```typescript +wishlistGetters: WishlistGetters +``` diff --git a/docs/guide/about.md b/docs/guide/about.md index 0fa776cf2..375647862 100644 --- a/docs/guide/about.md +++ b/docs/guide/about.md @@ -12,24 +12,33 @@ If you have any questions about this integration we will be happy to answer them ## Contributors ✨ -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): +### Honorable Mentions +- [Cyberfuze](https://cyberfuze.com/) +- [Leonex](https://www.leonex.de/) + +Thanks go to these wonderful people 🙌:

Heitor Ramon Ribeiro

💻 🚧 📆

Heitor Ramon Ribeiro

💻 🚧 📖 📆

Alef Barbeli

💻 📖

Dominik Deimel

💻 📖

Lior Lindvor

💻
- - - - - - - + + + + + + + + + + + + - - + +

Heitor Ramon Ribeiro

💻 🚧 📆

Dominik Deimel

💻 📖

Lior Lindvor

💻

Alef Barbeli

📖

Henrique Lopes

📖

Filip Rakowski

💬 🧑‍🏫 👀

Filip Sobol

💬 🧑‍🏫 👀

Heitor Ramon Ribeiro

💻 🚧 📆

Alef Barbeli

💻 📖

Dominik Deimel

💻 📖

Lior Lindvor

💻

Henrique Lopes

💻 📖

Đại Lộc Lê Quang

💻

Bogdan Podlesnii

💻

Filip Rakowski

💬 🧑‍🏫 👀

Filip Sobol

💬 🧑‍🏫 👀

Patryk Andrzejewski

💬 🧑‍🏫 👀

Patryk Andrzejewski

💬 🧑‍🏫 👀

Renan Oliveira

🔧 🔌

Renan Oliveira

🔧 🔌

Patrick Monteiro

💻
diff --git a/docs/guide/composables/use-addresses.md b/docs/guide/composables/use-addresses.md new file mode 100644 index 000000000..5f5662cc5 --- /dev/null +++ b/docs/guide/composables/use-addresses.md @@ -0,0 +1,29 @@ +# useAddresses + +`useAddresses`: + +## API +```typescript +export interface UseAddresses extends Composable { + error: ComputedProperty; + loading: ComputedProperty; + addresses: ComputedProperty; + load: (loadParams?: LOAD_ADDRESS_PARAMS) => Promise, + save: (saveParams: SAVE_ADDRESS_PARAMS) => Promise, + remove: (removeParams: REMOVE_ADDRESS_PARAMS) => Promise, + update: (updateParams: UPDATE_ADDRESS_PARAMS) => Promise, +} +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-page.md b/docs/guide/composables/use-content.md similarity index 100% rename from docs/guide/composables/use-page.md rename to docs/guide/composables/use-content.md diff --git a/docs/guide/composables/use-custom-mutation.md b/docs/guide/composables/use-custom-mutation.md new file mode 100644 index 000000000..1c983d1b3 --- /dev/null +++ b/docs/guide/composables/use-custom-mutation.md @@ -0,0 +1,84 @@ +# useCustomMutation + +## Features +`useCustomMutation` composition function can be used to execute custom Mutation on the Magento GraphQL API. + +What makes it powerful is the ability to accept any GraphQL mutation, and execute it. + +## API +```typescript +export interface UseCustomMutation extends Composable { + setMutationString: (newMutationString: string) => void; + mutationString: ComputedProperty; + mutation: ({ variables, fetchPolicy }: { + variables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + }) => Promise; + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + [x: string]: any; +} +``` + +### `setMutationString` +Function to define the mutation to be executed on the GraphQL Mutation + +### `mutationString` +`sharedRef` of the GraphQL mutation string + +### `query` +Actual query function to mutate the data under the Magento GraphQL API. + +### `result` +Reactive object containing the result information from mutation method. + +### `loading` +Reactive object containing the loading state of the query function. + +### `error` +Reactive object containing the error message, if mutation failed for any reason. + +## Example +`customMutationExample.ts` + +```typescript +import { useCustomMutation } from '@vue-storefront/magento'; + +export const customMutation = (id?: string) => { + const { + error, + loading, + mutation, + result, + setMutationString, + } = useCustomMutation(id); + + setMutationString(` + mutation subscribeEmailToNewsletter($email: String!){ + subscribeEmailToNewsletter(email: $email) { + status + } + }`); + + return { + error, + loading, + mutation, + result, + }; +}; +``` + +`Any File` +```typescript +import { customQuery } from '~/composables/customMutationExample.ts'; + +const { mutation } = customQuery(id); + +await mutation({ + variables: { + email: `${newEmail}`, + }, +}); +``` diff --git a/docs/guide/composables/use-custom-query.md b/docs/guide/composables/use-custom-query.md new file mode 100644 index 000000000..dda849fd1 --- /dev/null +++ b/docs/guide/composables/use-custom-query.md @@ -0,0 +1,87 @@ +# useCustomQuery + +## Features +`useCustomQuery` composition function can be used to execute custom Queries on the Magento GraphQL API. + +What makes it powerful is the ability to accept any GraphQL query, and execute it. + +## API +```typescript +export interface UseCustomQuery extends Composable { + setQueryString: (newQueryString: string) => void; + queryString: ComputedProperty; + query: ({ variables, fetchPolicy, }: { + variables: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + }) => Promise; + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; +} +``` + +### `setQueryString` +Function to define the query to be executed on the GraphQL Query + +### `queryString` +`sharedRef` of the GraphQL query string + +### `query` +Actual query function to fetch the data under the Magento GraphQL API. + +### `result` +Reactive object containing the result information from query method. + +### `loading` +Reactive object containing the loading state of the query function. + +### `error` +Reactive object containing the error message, if query failed for any reason. + +## Example +`customQueryExample.ts` + +```typescript +import { useCustomQuery } from '@vue-storefront/magento'; + +export const customQuery = (id?: string) => { + const { + error, + loading, + query, + result, + setQueryString, + } = useCustomQuery(id); + + setQueryString(` + query urlResolver($url: String!) { + urlResolver(url:$url) { + id, + redirectCode, + relative_url, + type + entity_uid + } + }`); + + return { + error, + loading, + query, + result, + }; +}; +``` + +`Any File` +```typescript +import { customQuery } from '~/composables/customQueryExample.ts'; + +const { query } = customQuery(path); + +await query({ + variables: { + url: path.replace(/\/[cp|]\//gi, ''), + }, +}); +``` diff --git a/docs/guide/composables/use-forgot-password.md b/docs/guide/composables/use-forgot-password.md new file mode 100644 index 000000000..c356323f1 --- /dev/null +++ b/docs/guide/composables/use-forgot-password.md @@ -0,0 +1,27 @@ +# useForgotPassword + +`useForgotPassword` + +## API +```typescript +export interface UseForgotPassword { + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + setNew(params: ComposableFunctionArgs<{ + tokenValue: string, + newPassword: string, + email: string, + }>): Promise; + request(params: ComposableFunctionArgs<{ + email: string + }>): Promise; +} +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-newsletter.md b/docs/guide/composables/use-newsletter.md new file mode 100644 index 000000000..bcfe02a81 --- /dev/null +++ b/docs/guide/composables/use-newsletter.md @@ -0,0 +1,21 @@ +# useNewsletter + +`useNewsletter` + +## API +```typescript +export interface UseNewsletter extends Composable{ + error: ComputedProperty; + loading: ComputedProperty; + updateSubscription: (params: { + email: UPDATE_NEWSLETTER_PARAMS, + }) => Promise; +} +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-related-products.md b/docs/guide/composables/use-related-products.md new file mode 100644 index 000000000..be90af824 --- /dev/null +++ b/docs/guide/composables/use-related-products.md @@ -0,0 +1,26 @@ +# useRelatedProducts + +`useRelatedProducts` + +## API +```typescript +export interface UseRelatedProducts< + PRODUCTS, + RELATED_PRODUCT_SEARCH_PARAMS, + API extends PlatformApi = any> + extends Composable { + products: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + search(params: ComposableFunctionArgs): Promise; + [x: string]: any; +} + +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-review.md b/docs/guide/composables/use-review.md new file mode 100644 index 000000000..8bc23b055 --- /dev/null +++ b/docs/guide/composables/use-review.md @@ -0,0 +1,14 @@ +# useReview + +`useReview` + +## API +```typescript +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-upsell-products.md b/docs/guide/composables/use-upsell-products.md new file mode 100644 index 000000000..bdc914dff --- /dev/null +++ b/docs/guide/composables/use-upsell-products.md @@ -0,0 +1,24 @@ +# useUpsellProducts + +`useUpsellProducts` + +## API +```typescript +export interface UseUpsellProducts< + PRODUCTS, UPSELL_PRODUCTS_SEARCH_PARAMS, + API extends PlatformApi = any> + extends Composable { + products: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + search(params: ComposableFunctionArgs): Promise; + [x: string]: any; +} +``` + +* `` - + +## Example + +```javascript +``` diff --git a/docs/guide/composables/use-router.md b/docs/guide/composables/use-url-resolver.md similarity index 100% rename from docs/guide/composables/use-router.md rename to docs/guide/composables/use-url-resolver.md diff --git a/docs/guide/composables/use-user-wishlist.md b/docs/guide/composables/use-wishlist.md similarity index 100% rename from docs/guide/composables/use-user-wishlist.md rename to docs/guide/composables/use-wishlist.md diff --git a/docs/guide/configuration.md b/docs/guide/configuration.md index dd03e8997..75b81c9e7 100644 --- a/docs/guide/configuration.md +++ b/docs/guide/configuration.md @@ -1,29 +1,40 @@ -# Configuration - -Magento 2 configuration is located in two places: - -## Requirements: -- NodeJS v14 or later -- Magento >= v2.4.2 instance for GraphQL endpoint - -## Steps -1. Fork the repo -2. Clone your fork of the repo - ``` - example: - git clone https://github.com/vuestorefront/magento2.git - cd magento2 - ``` -3. Checkout develop branch `git checkout develop` -4. Run `yarn` to install dependencies -5. Copy `config/example.json` to an environment named config and update GraphQL Endpoint - ``` - cp packages/theme/config/example.json packages/theme/config/dev.json - ``` -6. Update `magentoGraphQl` with url to Magento >=2.4.2 GraphQL endpoint, and the other variable accordingly to your store configurations. - ``` - "magentoGraphQl": "https://{YOUR_SITE_FRONT_URL}/graphql", - ``` -7. Build dependencies `yarn build:api-client && yarn build:composables` -8. Run `yarn dev:theme` to run theme. You can find other commands in `package.json` -- If you need HMR on Api Client/Composables run `yarn dev:api-client` or `yarn dev:composables` on a separate terminal window. +# Configuration the Magento Integration + +After the creation of the store, you must configure the Magento integration. You can configure the integration using the `environment variables` or using a `configuration file`. + +## Environment Variables + +For configure the integration using `environment variables`, you can have a `.env` file in the root folder, or define those in the server `environment`. + +```dotenv +# Example environment configuration +STORE_ENV=dev # Store environment (Usage for file configuration) +NUXT_APP_ENV=development # Define nuxt application environment +NUXT_APP_PORT=3000 # Define nuxt port +MAGENTO_GRAPHQL=https://{YOUR_SITE_FRONT_URL}/graphql # Define Magento GraphQL endpoint +MAGENTO_EXTERNAL_CHECKOUT=false # Flag if VSF will use External Checkout +MAGENTO_EXTERNAL_CHECKOUT_URL=https://{YOUR_SITE_FRONT_URL} # External checkout URL +MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH=/vue/cart/sync # External Checkout synchronization path +``` + +## Configuration file + +To use the configuration file in your application, first you need to define an `environment variables` called `STORE_ENV` which will be used to attribute what file the application will use to load the configuration from. You can create an `.env` file and add the following configuration. + +```dotenv +# .evn file example +STORE_ENV=dev # Store environment (Usage for file configuration) +``` + +Then on the `config` folder create a file `dev.json` with your configurations. + +```json5 +{ + "magentoGraphQl": "https://{YOUR_SITE_FRONT_URL}/graphql", // Define Magento GraphQL endpoint + "enableMagentoExternalCheckout": false, // Flag if VSF will use External Checkout + "externalCheckoutUrl": "https://{YOUR_SITE_FRONT_URL}", // External checkout URL + "externalCheckoutSyncPath": "/vue/cart/sync", // External Checkout synchronization path + "nuxtAppEnvironment": "development", // Define nuxt application environment + "nuxtAppPort": 3000 // Define nuxt port +} +``` diff --git a/docs/guide/creating-a-store.md b/docs/guide/creating-a-store.md new file mode 100644 index 000000000..ccba3ed49 --- /dev/null +++ b/docs/guide/creating-a-store.md @@ -0,0 +1,59 @@ +# Creating a new store + +To create a new Vue Storefront Magento 2 store, there are two available options: + +1. [Using the Vue Storefront CLI](#using-the-vue-storefront-cli) +2. [Cloning the template store](#cloning-the-template-store) + +## Requirements + +- Node.Js 14+ +- Magento 2.4.3+ instance for GraphQL endpoint +- Change Magento GraphQL Query Complexity and Depth values + +::: warning Don't forget to change the Magento GraphQL Query Complexity and Depth values +Magento 2 by default has a lower value for the complexity of 300, and a higher value for the depth of 20. [Magento 2 - Issue #32427](https://github.com/magento/magento2/issues/32427#issuecomment-860478483) + +The changes are required, due to the size of the queries and mutations in the `api-client` implementation. + +To do this changes, you can use the [Magento 2 module](https://github.com/caravelx/module-graphql-config), which adds a configuration panel to your admin, or do this changes manually. +::: + +To install the Magento 2 GraphQL Config module, on your Magento installation execute: + +```bash +composer require caravelx/module-graphql-config + +php bin/magento module:enable Caravel_GraphQlConfig + +php bin/magento setup:upgrade + +php bin/magento setup:di:compile + +php bin/magento setup:static-content:deploy +``` + +Find more information about the module [GraphQl Custom Config](https://github.com/caravelx/module-graphql-config) + +## Using the Vue Storefront CLI + +To create a new store using the Vue Storefront CLI, first you need to install the CLI + +```bash +npm i -g @vue-storefront/cli +``` + +Then you must create the new store using the newly installed CLI + +```bash +vsf init +# And choose Magento 2 +``` + +## Cloning the template store + +To create a new store cloning the template store, you need to clone the Magento base template store. + +```bash +git clone https://github.com/vuestorefront/template-magento +``` diff --git a/docs/improvements/analytics/README.md b/docs/improvements/analytics/README.md new file mode 100644 index 000000000..70e61e9a2 --- /dev/null +++ b/docs/improvements/analytics/README.md @@ -0,0 +1,6 @@ +# Nuxt Analytics + + - [nuxt-google-analytics](./nuxt-google-analytics.md) + - [nuxt-google-gtag](./nuxt-google-gtag.md) + - [nuxt-gtm](./nuxt-gtm.md) + - [nuxt-segment](./nuxt-segment.md) diff --git a/docs/improvements/analytics/nuxt-google-analytics.md b/docs/improvements/analytics/nuxt-google-analytics.md new file mode 100644 index 000000000..3a4f28701 --- /dev/null +++ b/docs/improvements/analytics/nuxt-google-analytics.md @@ -0,0 +1,34 @@ +# @nuxtjs/google-analytics + +Find more information about [@nuxtjs/google-analytics](https://google-analytics.nuxtjs.org/) + + +### Installation +First, you need to add the [@nuxtjs/google-analytics](https://google-analytics.nuxtjs.org/) to your application: + +```bash +yarn add @nuxtjs/google-analytics +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `buildModules` key. + +```js +{ + buildModules: [ + '@nuxtjs/google-analytics' + ] +} +``` + +To configure it add `googleAnalytics` section in `nuxt.config.js` to set the module options: +```js +export default { + googleAnalytics: { + id: 'UA-XXX-X' + } +} +``` + + + +More information about the [module options](https://google-analytics.nuxtjs.org/options) diff --git a/docs/improvements/analytics/nuxt-google-gtag.md b/docs/improvements/analytics/nuxt-google-gtag.md new file mode 100644 index 000000000..7c0065953 --- /dev/null +++ b/docs/improvements/analytics/nuxt-google-gtag.md @@ -0,0 +1,55 @@ +# @nuxtjs/google-gtag + +Find more information about [@nuxtjs/google-gtag](https://github.com/nuxt-community/google-gtag-module) + + +### Installation +First, you need to add the [@nuxtjs/google-gtag](https://github.com/nuxt-community/google-gtag-module) to your application: + +```bash +yarn add @nuxtjs/google-gtag +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +{ + modules: [ + // Simple usage + '@nuxtjs/google-gtag', + + // With options + ['@nuxtjs/google-gtag', { /* module options */ }] + ] +} +``` + +Or you can configure it using the top level options + +```js +{ + modules: [ + '@nuxtjs/google-gtag' + ], + 'google-gtag': { + id: 'UA-XXXX-XX', + config: { + anonymize_ip: true, // anonymize IP + send_page_view: false, // might be necessary to avoid duplicated page track on page reload + linker: { + domains: ['domain.com','domain.org'] + } + }, + debug: true, // enable to track in dev mode + disableAutoPageTrack: false, // disable if you don't want to track each page route with router.afterEach(...). + additionalAccounts: [{ + id: 'AW-XXXX-XX', // required if you are adding additional accounts + config: { + send_page_view: false // optional configurations + } + }] + } +} +``` + +More information about the [module options](https://github.com/nuxt-community/google-gtag-module#options) diff --git a/docs/improvements/analytics/nuxt-gtm.md b/docs/improvements/analytics/nuxt-gtm.md new file mode 100644 index 000000000..8d78e6e19 --- /dev/null +++ b/docs/improvements/analytics/nuxt-gtm.md @@ -0,0 +1,26 @@ +# @nuxtjs/gtm + +Find more information about [@nuxtjs/gtm](https://github.com/nuxt-community/gtm-module) + + +### Installation +First, you need to add the [@nuxtjs/gtm](https://github.com/nuxt-community/gtm-module) to your application: + +```bash +yarn add @nuxtjs/gtm +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +export default { + modules: [ + '@nuxtjs/gtm', + ], + gtm: { + id: 'GTM-XXXXXXX' + } +} +``` + +More information about the [module options](https://github.com/nuxt-community/gtm-module#options) diff --git a/docs/improvements/analytics/nuxt-segment.md b/docs/improvements/analytics/nuxt-segment.md new file mode 100644 index 000000000..88f4e8096 --- /dev/null +++ b/docs/improvements/analytics/nuxt-segment.md @@ -0,0 +1,37 @@ +# nuxt-segment + +Find more information about [nuxt-segment](https://github.com/dansmaculotte/nuxt-segment) + + +### Installation +First, you need to add the [nuxt-segment](https://github.com/dansmaculotte/nuxt-segment) to your application: + +```bash +yarn add nuxt-segment +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +export default { + modules: [ + // Simple usage + '@dansmaculotte/nuxt-segment', + + // With options + [ + '@dansmaculotte/nuxt-segment', + { /* module options */ } + ], + ], + + // Or with global options + segment: { + writeKey: '', + disabled: false, + useRouter: true + } +} +``` + +More information about the [module options](https://github.com/dansmaculotte/nuxt-segment#options) diff --git a/docs/improvements/logging/README.md b/docs/improvements/logging/README.md new file mode 100644 index 000000000..acb177719 --- /dev/null +++ b/docs/improvements/logging/README.md @@ -0,0 +1,4 @@ +# Nuxt Logging + +- [nuxt-sentry](./nuxt-sentry.md) +- [nuxt-winston-log](./nuxt-winston-log.md) diff --git a/docs/improvements/logging/nuxt-sentry.md b/docs/improvements/logging/nuxt-sentry.md new file mode 100644 index 000000000..de36ac95c --- /dev/null +++ b/docs/improvements/logging/nuxt-sentry.md @@ -0,0 +1,32 @@ +# @nuxtjs/sentry + +Find more information about [@nuxtjs/sentry](https://sentry.nuxtjs.org/) + + +### Installation +First, you need to add the [@nuxtjs/sentry](https://sentry.nuxtjs.org/) to your application: + +```bash +yarn add @nuxtjs/sentry +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +export default { + modules: [ + '@nuxtjs/sentry' + ], + sentry: { + dsn: '', // Enter your project's DSN here + // Additional Module Options go here + // https://sentry.nuxtjs.org/sentry/options + config: { + // Add native Sentry config here + // https://docs.sentry.io/platforms/javascript/guides/vue/configuration/options/ + }, + } +} +``` + +More information about the [module options](https://sentry.nuxtjs.org/sentry/options) diff --git a/docs/improvements/logging/nuxt-winston-log.md b/docs/improvements/logging/nuxt-winston-log.md new file mode 100644 index 000000000..1581740c5 --- /dev/null +++ b/docs/improvements/logging/nuxt-winston-log.md @@ -0,0 +1,21 @@ +# nuxt-winston-log + +Find more information about [nuxt-winston-log](https://github.com/aaronransley/nuxt-winston-log) + + +### Installation +First, you need to add the [nuxt-winston-log](https://github.com/aaronransley/nuxt-winston-log) to your application: + +```bash +yarn add nuxt-winston-log +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +export default { + modules: ['nuxt-winston-log'] +} +``` + +Follow the [usage instructions to finish the installation](https://github.com/aaronransley/nuxt-winston-log#usage) diff --git a/docs/improvements/nuxt.md b/docs/improvements/nuxt.md new file mode 100644 index 000000000..b3863e439 --- /dev/null +++ b/docs/improvements/nuxt.md @@ -0,0 +1,3 @@ +# Nuxt improvements + +To achieve some improvements in your Nuxt application, are some optimizations that we can make. diff --git a/docs/improvements/optimization/README.md b/docs/improvements/optimization/README.md new file mode 100644 index 000000000..73ceea975 --- /dev/null +++ b/docs/improvements/optimization/README.md @@ -0,0 +1,4 @@ +# Nuxt Optimization + +- [nuxt-precompress](./nuxt-precompress.md) +- [nuxt-purgecss](./nuxt-purgecss.md) diff --git a/docs/improvements/optimization/nuxt-precompress.md b/docs/improvements/optimization/nuxt-precompress.md new file mode 100644 index 000000000..8f0d5566f --- /dev/null +++ b/docs/improvements/optimization/nuxt-precompress.md @@ -0,0 +1,60 @@ +# nuxt-precompress + +Enabling `gzip` and `brotli` compression algorithms in your application is always an excellent solution to improve the loading speed in your application. There are some caveats, like the increase of CPU usage when using compression algorithms. + +Find more information about [nuxt-precompress](https://github.com/frenchrabbit/nuxt-precompress) + +### Installation +First, you need to add the [nuxt-precompress](https://github.com/frenchrabbit/nuxt-precompress) to your application: + +```bash +yarn add nuxt-precompress +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +// nuxt.config.js +export default { + // ... + modules: ['nuxt-precompress'], + // Default options, override if needed + nuxtPrecompress: { + enabled: true, // Enable in production + report: false, // set true to turn one console messages during module init + test: /\.(js|css|html|txt|xml|svg)$/, // files to compress on build + // Serving options + middleware: { + // You can disable middleware if you serve static files using nginx... + enabled: true, + // Enable if you have .gz or .br files in /static/ folder + enabledStatic: true, + // Priority of content-encodings, first matched with request Accept-Encoding will me served + encodingsPriority: ['br', 'gzip'], + }, + + // build time compression settings + gzip: { + // should compress to gzip? + enabled: true, + // compression config + // https://www.npmjs.com/package/compression-webpack-plugin + filename: '[path].gz[query]', // middleware will look for this filename + threshold: 10240, + minRatio: 0.8, + compressionOptions: { level: 9 }, + }, + brotli: { + // should compress to brotli? + enabled: true, + // compression config + // https://www.npmjs.com/package/compression-webpack-plugin + filename: '[path].br[query]', // middleware will look for this filename + compressionOptions: { level: 11 }, + threshold: 10240, + minRatio: 0.8, + }, + } + // ... +} +``` diff --git a/docs/improvements/optimization/nuxt-purgecss.md b/docs/improvements/optimization/nuxt-purgecss.md new file mode 100644 index 000000000..7ea4300a4 --- /dev/null +++ b/docs/improvements/optimization/nuxt-purgecss.md @@ -0,0 +1,31 @@ +# nuxt-purgecss + +To improve the page speed, we can remove some CSS sent to the user by eliminating the unused CSS, from the final bundle. + +Using the `PurgeCSS` module as the base, the `nuxt-purgecss` removes that excess of CSS, and clean the final bundle that will be sent. + +Find more information about [nuxt-purgecs](https://github.com/Developmint/nuxt-purgecss) + + +### Installation +First, you need to add the [nuxt-purgecs](https://github.com/Developmint/nuxt-purgecss) to your application: + +```bash +yarn add nuxt-purgecss +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +export default { + buildModules: [ + // Simple usage + 'nuxt-purgecss', + + // With options + ['nuxt-purgecss', { /* module options */ }], + ] +} +``` + +More information about the [module options](https://github.com/Developmint/nuxt-purgecss#options) diff --git a/docs/improvements/security/README.md b/docs/improvements/security/README.md new file mode 100644 index 000000000..6c2a373ff --- /dev/null +++ b/docs/improvements/security/README.md @@ -0,0 +1,3 @@ +# Nuxt Security + +- [nuxt-helmet](./nuxt-helmet.md) diff --git a/docs/improvements/security/nuxt-helmet.md b/docs/improvements/security/nuxt-helmet.md new file mode 100644 index 000000000..7cbf26c6d --- /dev/null +++ b/docs/improvements/security/nuxt-helmet.md @@ -0,0 +1,32 @@ +# nuxt-helmet + +Adding a security layer to your application is also essential. The `helmet` like module for nuxt adds a security layer on top of your application. + +Find more information about [nuxt-helmet](https://github.com/victor-perez/nuxt-helmet) + +### Installation + +First, you need to add the [nuxt-helmet](https://github.com/victor-perez/nuxt-helmet) module to your application: + +```bash +yarn add nuxt-helmet +``` + +Then, on the `nuxt.config.js` file, you need to add it to the `modules` key. + +```js +{ + modules: [ + 'nuxt-helmet' + //...other modules + ], + // helmet options + // @see https://helmetjs.github.io/docs/ + helmet: { + /* + frameguard: false, + ... + */ + } +} +``` diff --git a/docs/index.md b/docs/index.md index 68f256c13..a7c91338f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,9 +1,9 @@ -# Vue Storefront 2 integration with Magento 2 (WIP) +# Vue Storefront 2 integration with Magento 2 This project is a Magento 2 integration for Vue Storefront 2. -This integration is being developed by superheroes from [Cyberfuze](https://cyberfuze.com/), [Ecritel](https://www.ecritel.com/) and [Leonex](https://www.leonex.de/) ❤️ +This integration is being developed by superheroes from [Caravel](https://www.caravelx.com/) ❤️ -This integration is currently a **Beta** and not ready for production usage. You can help us making the integration production-ready faster by reporting bugs and contributing to the code at the [repository issues page](https://github.com/vuestorefront/magento2/issues). +This integration is currently a **Beta** and not ready for production usage. You can help us to make the integration production-ready faster by reporting bugs and contributing to the code at the [repository issues page](https://github.com/vuestorefront/magento2/issues). diff --git a/docs/package.json b/docs/package.json index e44e7701d..a972b4494 100755 --- a/docs/package.json +++ b/docs/package.json @@ -4,16 +4,29 @@ "description": "Documentation for the Magento integration for Vue Storefront", "main": "index.js", "license": "MIT", - "authors": { - "name": "Alef Barbeli", - "email": "alefbarbeli@gmail.com" - }, - "repository": "https://github.com/vuestorefront/salesforce-commerce-cloud/docs", + "repository": "https://github.com/vuestorefront/magento2", "scripts": { "dev": "vuepress dev", - "build": "vuepress build" + "build": "vuepress build", + "api-extract": "yarn api-ref && yarn comp-ref && yarn ref-md", + "api-ref": "cd ../packages/api-client && api-extractor run --local", + "comp-ref": "cd ../packages/composables && api-extractor run --local", + "ref-md": "api-documenter markdown --i api-reference --o api-reference" }, "devDependencies": { - "vuepress": "^1.5.3" + "@microsoft/api-documenter": "^7.13.7", + "@microsoft/api-extractor": "^7.18.3", + "@vue-storefront/commercetools-api": "~1.2.0", + "@vuepress/plugin-active-header-links": "^1.8.2", + "@vuepress/plugin-back-to-top": "^1.8.2", + "@vuepress/plugin-medium-zoom": "^1.8.2", + "@vuepress/plugin-search": "^1.8.2", + "handlebars": "^4.7.7", + "typescript": "^3.6.4", + "vuepress": "^1.2.0" + }, + "dependencies": { + "sass-loader": "^8.0.2", + "vue-multiselect": "^2.1.6" } } diff --git a/docs/yarn.lock b/docs/yarn.lock index 2db83c805..7cbeb191f 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2,6 +2,24 @@ # yarn lockfile v1 +"@apollo/client@^3.2.9": + version "3.4.11" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.4.11.tgz#19cc27abe59d0cdcc1d357b30a89ebec8bb2b072" + integrity sha512-+A0z/Vy7sDg1uyijv3t9w1U0ybxn0bSpMUZHpsb2cLg/zM8fEHQ217226buzJ+cPUA1GVfJ8n6JsiN26RchvNA== + dependencies: + "@graphql-typed-document-node/core" "^3.0.0" + "@wry/context" "^0.6.0" + "@wry/equality" "^0.5.0" + "@wry/trie" "^0.3.0" + graphql-tag "^2.12.3" + hoist-non-react-statics "^3.3.2" + optimism "^0.16.1" + prop-types "^15.7.2" + symbol-observable "^4.0.0" + ts-invariant "^0.9.0" + tslib "^2.3.0" + zen-observable-ts "~1.1.0" + "@babel/code-frame@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" @@ -866,6 +884,80 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@commercetools/sdk-auth@^3.0.1": + version "3.0.12" + resolved "https://registry.yarnpkg.com/@commercetools/sdk-auth/-/sdk-auth-3.0.12.tgz#6b6930f697f2311beeb909677df08bd5c7f523b8" + integrity sha512-t7F71oNK+A23hLGzlEYnjTtqhxDUFST8f4l9YAf7mmVCA9Qeu668pDvJ/kf5gVLMQVazEQM8Vjy4JyyeQctEkQ== + dependencies: + "@commercetools/sdk-middleware-http" "^6.0.11" + lodash.defaultsdeep "^4.6.0" + qss "2.0.3" + +"@commercetools/sdk-middleware-http@^6.0.11": + version "6.0.11" + resolved "https://registry.yarnpkg.com/@commercetools/sdk-middleware-http/-/sdk-middleware-http-6.0.11.tgz#0ca16cefe881b68c1d2b77ddbd3a48733a5ee062" + integrity sha512-9Keb5rv6fvdA9qdehBEjk/JMrAzlBbg76TodsvhCZZZteaO0+ybjFgtV0ekdGyI4awxOxgsiPDZrTmQNvnI5Wg== + +"@graphql-typed-document-node/core@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950" + integrity sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg== + +"@microsoft/api-documenter@^7.13.7": + version "7.13.49" + resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.13.49.tgz#a4caeea6da1410498b683b1640cd53ed98d53c18" + integrity sha512-cWrKcXF+JMNosa/nlt46Od9DfJCiRXc99ARSbYtrDsKye+Jo5Da8XOU0ZA4xf4yBB8rbECmL4EOIpTd7d8saZw== + dependencies: + "@microsoft/api-extractor-model" "7.13.7" + "@microsoft/tsdoc" "0.13.2" + "@rushstack/node-core-library" "3.40.2" + "@rushstack/ts-command-line" "4.9.0" + colors "~1.2.1" + js-yaml "~3.13.1" + resolve "~1.17.0" + +"@microsoft/api-extractor-model@7.13.7": + version "7.13.7" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.13.7.tgz#2ae0948cb7458b336694c458675717ef8a9dcc85" + integrity sha512-emwhcaSF/h3WdqBWps4UU0RtGOGzy53IsplxuoLwtCuMAx3namYvJSfUGa5ajGPBao4MCyRYGsMc3EZ6IdR8cQ== + dependencies: + "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc-config" "~0.15.2" + "@rushstack/node-core-library" "3.40.2" + +"@microsoft/api-extractor@^7.18.3": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.18.9.tgz#82f50f8791bfacd5e3dd5d9400cdb6d69a499249" + integrity sha512-N+fbG+6SwA1i6EW3iGRp/nAT8vQpRSDvZ1DzBUr8xIS7tNfJ0C75ndPPziUT8EmalhLixRnIw6Ncmur8AFELRg== + dependencies: + "@microsoft/api-extractor-model" "7.13.7" + "@microsoft/tsdoc" "0.13.2" + "@microsoft/tsdoc-config" "~0.15.2" + "@rushstack/node-core-library" "3.40.2" + "@rushstack/rig-package" "0.3.0" + "@rushstack/ts-command-line" "4.9.0" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.17.0" + semver "~7.3.0" + source-map "~0.6.1" + typescript "~4.3.5" + +"@microsoft/tsdoc-config@~0.15.2": + version "0.15.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.15.2.tgz#eb353c93f3b62ab74bdc9ab6f4a82bcf80140f14" + integrity sha512-mK19b2wJHSdNf8znXSMYVShAHktVr/ib0Ck2FA3lsVBSEhSI/TfXT7DJQkAYgcztTuwazGcg58ZjYdk0hTCVrA== + dependencies: + "@microsoft/tsdoc" "0.13.2" + ajv "~6.12.6" + jju "~1.4.0" + resolve "~1.19.0" + +"@microsoft/tsdoc@0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.13.2.tgz#3b0efb6d3903bd49edb073696f60e90df08efb26" + integrity sha512-WrHvO8PDL8wd8T2+zBGKrMwVL5IyzR3ryWUsl0PXgEV0QHup4mTLi0QcATefGI6Gx9Anu7vthPyyyLpY0EpiQg== + "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -879,6 +971,39 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@rushstack/node-core-library@3.40.2": + version "3.40.2" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.40.2.tgz#71d92180f14bafd212f720b2cfe8892e688159b6" + integrity sha512-wzcRucwnhOENTfx6hZ2M+CA1Zmp8Dr572mFFtjxmcQzBWTbNFRB1Mi1wLb7DLza+69OUBoSZcHUqydlwL+gvSA== + dependencies: + "@types/node" "10.17.13" + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.17.0" + semver "~7.3.0" + timsort "~0.3.0" + z-schema "~3.18.3" + +"@rushstack/rig-package@0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.0.tgz#334ad2846797861361b3445d4cc9ae9164b1885c" + integrity sha512-Lj6noF7Q4BBm1hKiBDw94e6uZvq1xlBwM/d2cBFaPqXeGdV+G6r3qaCWfRiSXK0pcHpGGpV5Tb2MdfhVcO6G/g== + dependencies: + resolve "~1.17.0" + strip-json-comments "~3.1.1" + +"@rushstack/ts-command-line@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.9.0.tgz#781ba42cff73cae097b6d5241b6441e7cc2fe6e0" + integrity sha512-kmT8t+JfnvphISF1C5WwY56RefjwgajhSjs9J4ckvAFXZDXR6F5cvF5/RTh7fGCzIomg8esy2PHO/b52zFoZvA== + dependencies: + "@types/argparse" "1.0.38" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -891,6 +1016,11 @@ dependencies: defer-to-connect "^1.0.1" +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -914,11 +1044,62 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== +"@types/node@10.17.13": + version "10.17.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" + integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== + +"@types/node@>=6": + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" + integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== + "@types/q@^1.5.1": version "1.5.4" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== +"@types/zen-observable@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" + integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== + +"@types/zen-observable@0.8.3", "@types/zen-observable@^0.8.0": + version "0.8.3" + resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" + integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== + +"@vue-storefront/commercetools-api@~1.2.0": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vue-storefront/commercetools-api/-/commercetools-api-1.2.4.tgz#c85fb21dfc931143f1516f64aeac003a7de38a47" + integrity sha512-rHV3wXfIT85Si5po+hwrnUnP5KWtw7SbNt7akxMDWOSbkg3z+tMAhDDU9lwVOFIvsCiOdBmxty/gQFPbdFrcXw== + dependencies: + "@apollo/client" "^3.2.9" + "@commercetools/sdk-auth" "^3.0.1" + "@vue-storefront/core" "^2.3.4" + apollo-cache-inmemory "^1.6.6" + apollo-client "^2.6.10" + apollo-link "^1.2.14" + apollo-link-context "^1.0.20" + apollo-link-error "^1.1.13" + apollo-link-http "^1.5.17" + apollo-link-retry "^2.2.16" + graphql "^14.5.8" + graphql-tag "^2.10.1" + isomorphic-fetch "^2.2.1" + +"@vue-storefront/core@^2.3.4": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@vue-storefront/core/-/core-2.4.1.tgz#dcf90b690673823606d8e82387ef9fe74bfd8475" + integrity sha512-s30PPMW1oYujZ226tKMkpGYv+s9wOSzozsrzEkFm2r3m2/f5oBh5kcb0mGGVovLucmeSdoGiRmFIvB4FQ+0xXg== + dependencies: + "@vue/composition-api" "1.0.0-beta.21" + axios "0.21.1" + express "^4.17.1" + is-https "^3.0.2" + lodash-es "^4.17.15" + vue "^2.6.11" + "@vue/babel-helper-vue-jsx-merge-props@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" @@ -1057,6 +1238,13 @@ optionalDependencies: prettier "^1.18.2" +"@vue/composition-api@1.0.0-beta.21": + version "1.0.0-beta.21" + resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.0.0-beta.21.tgz#d5a3c68afc8b569dfc3eccd69998388bb7f6a16c" + integrity sha512-tgbvDpLvKQ1GrII424wsoyzPCsG0oTFf38emMq495SfLY7RmUqhVIl81pvnC5489PPrCxDkbauJHJrhlcXfbTQ== + dependencies: + tslib "^2.0.1" + "@vuepress/core@1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.8.2.tgz#4f5bafc894691bfea4146294a582a129483daf2a" @@ -1123,13 +1311,20 @@ markdown-it-table-of-contents "^0.4.0" prismjs "^1.13.0" -"@vuepress/plugin-active-header-links@1.8.2": +"@vuepress/plugin-active-header-links@1.8.2", "@vuepress/plugin-active-header-links@^1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz#0cb9b29c826dd97d35357a9b09c962ef782cb793" integrity sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g== dependencies: lodash.debounce "^4.0.8" +"@vuepress/plugin-back-to-top@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-back-to-top/-/plugin-back-to-top-1.8.2.tgz#e9794409d1d589e4952b0700291270d2696e6d01" + integrity sha512-htAf2m8+6cGmYQexWerznGBY10y1E4TBfebYC3Y3wqNjFjvXUmRKcAG/u6Yxvey4OFkQUxbth2ilKi/GlIW8aQ== + dependencies: + lodash.debounce "^4.0.8" + "@vuepress/plugin-last-updated@1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz#7ce689f8d5050cf0213949bc2e5aa879c09ff4b1" @@ -1137,6 +1332,13 @@ dependencies: cross-spawn "^6.0.5" +"@vuepress/plugin-medium-zoom@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-1.8.2.tgz#0243dd27edf0c710f9a41a234d253d76ab51e625" + integrity sha512-Mljso/8E6IbNmIKmwKeC6FDfnhKY3fsOUSs5kEGzz3RQwd54eshqHAMRVwW4LZkYZHhwQXF8+qk7YqoMZB7jjg== + dependencies: + medium-zoom "^1.0.4" + "@vuepress/plugin-nprogress@1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz#dc6c082925420c8c59ecb7fc2d4a9401f6d4664a" @@ -1151,7 +1353,7 @@ dependencies: "@vuepress/shared-utils" "1.8.2" -"@vuepress/plugin-search@1.8.2": +"@vuepress/plugin-search@1.8.2", "@vuepress/plugin-search@^1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz#74b92f663acf6b4560e15dc0442a84c4e874e206" integrity sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA== @@ -1331,6 +1533,42 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@wry/context@^0.4.0": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz#e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8" + integrity sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag== + dependencies: + "@types/node" ">=6" + tslib "^1.9.3" + +"@wry/context@^0.6.0": + version "0.6.1" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" + integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw== + dependencies: + tslib "^2.3.0" + +"@wry/equality@^0.1.2": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" + integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA== + dependencies: + tslib "^1.9.3" + +"@wry/equality@^0.5.0": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73" + integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA== + dependencies: + tslib "^2.3.0" + +"@wry/trie@^0.3.0": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139" + integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw== + dependencies: + tslib "^2.3.0" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -1374,7 +1612,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1484,12 +1722,109 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +apollo-cache-inmemory@^1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.6.tgz#56d1f2a463a6b9db32e9fa990af16d2a008206fd" + integrity sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A== + dependencies: + apollo-cache "^1.3.5" + apollo-utilities "^1.3.4" + optimism "^0.10.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + +apollo-cache@1.3.5, apollo-cache@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" + integrity sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA== + dependencies: + apollo-utilities "^1.3.4" + tslib "^1.10.0" + +apollo-client@^2.6.10: + version "2.6.10" + resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" + integrity sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA== + dependencies: + "@types/zen-observable" "^0.8.0" + apollo-cache "1.3.5" + apollo-link "^1.0.0" + apollo-utilities "1.3.4" + symbol-observable "^1.0.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + zen-observable "^0.8.0" + +apollo-link-context@^1.0.20: + version "1.0.20" + resolved "https://registry.yarnpkg.com/apollo-link-context/-/apollo-link-context-1.0.20.tgz#1939ac5dc65d6dff0c855ee53521150053c24676" + integrity sha512-MLLPYvhzNb8AglNsk2NcL9AvhO/Vc9hn2ZZuegbhRHGet3oGr0YH9s30NS9+ieoM0sGT11p7oZ6oAILM/kiRBA== + dependencies: + apollo-link "^1.2.14" + tslib "^1.9.3" + +apollo-link-error@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/apollo-link-error/-/apollo-link-error-1.1.13.tgz#c1a1bb876ffe380802c8df0506a32c33aad284cd" + integrity sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg== + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link-http-common@^0.2.16: + version "0.2.16" + resolved "https://registry.yarnpkg.com/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz#756749dafc732792c8ca0923f9a40564b7c59ecc" + integrity sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg== + dependencies: + apollo-link "^1.2.14" + ts-invariant "^0.4.0" + tslib "^1.9.3" + +apollo-link-http@^1.5.17: + version "1.5.17" + resolved "https://registry.yarnpkg.com/apollo-link-http/-/apollo-link-http-1.5.17.tgz#499e9f1711bf694497f02c51af12d82de5d8d8ba" + integrity sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg== + dependencies: + apollo-link "^1.2.14" + apollo-link-http-common "^0.2.16" + tslib "^1.9.3" + +apollo-link-retry@^2.2.16: + version "2.2.16" + resolved "https://registry.yarnpkg.com/apollo-link-retry/-/apollo-link-retry-2.2.16.tgz#745ff51e60a7a68b34c8d382832856c43a9c306c" + integrity sha512-7F9+meFAz4dw5gtgtLsRFqJW6QzNOhTzt5R5Hsy+yFhkTW9LddgYO7gxN9n7RN/7Ouosh3TcpUkdHs2laC+0sA== + dependencies: + "@types/zen-observable" "0.8.0" + apollo-link "^1.2.14" + tslib "^1.9.3" + +apollo-link@^1.0.0, apollo-link@^1.2.14: + version "1.2.14" + resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" + integrity sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg== + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" + integrity sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig== + dependencies: + "@wry/equality" "^0.1.2" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -argparse@^1.0.7: +argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -1630,6 +1965,13 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axios@0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + babel-loader@^8.0.4: version "8.2.2" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" @@ -2213,6 +2555,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -2282,6 +2633,11 @@ colorette@^1.2.1, colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -2294,7 +2650,7 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.20.0: +commander@^2.20.0, commander@^2.7.1: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3056,6 +3412,13 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -3476,6 +3839,11 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== +follow-redirects@^1.10.0: + version "1.14.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.3.tgz#6ada78118d8d24caee595595accdc0ac6abd022e" + integrity sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3525,7 +3893,7 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-extra@^7.0.1: +fs-extra@^7.0.1, fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -3730,6 +4098,20 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graphql-tag@^2.10.1, graphql-tag@^2.12.3: + version "2.12.5" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f" + integrity sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ== + dependencies: + tslib "^2.1.0" + +graphql@^14.5.8: + version "14.7.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.7.0.tgz#7fa79a80a69be4a31c27dda824dc04dac2035a72" + integrity sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA== + dependencies: + iterall "^1.2.2" + gray-matter@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" @@ -3745,6 +4127,18 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== +handlebars@^4.7.7: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -3877,6 +4271,13 @@ hogan.js@^3.0.2: mkdirp "0.3.0" nopt "1.0.10" +hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -4024,6 +4425,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" @@ -4088,6 +4496,11 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -4263,6 +4676,13 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" +is-core-module@^2.1.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" @@ -4353,6 +4773,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-https@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-https/-/is-https-3.0.2.tgz#4d24e002e47edd3f1b07f14bc722433354ccba49" + integrity sha512-jFgAKhbNF7J+lTMJxbq5z9bf1V9f8rXn9mP5RSY2GUEW5M0nOiVhVC9dNra96hQDjGpNzskIzusUnXwngqmhAA== + is-installed-globally@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" @@ -4442,7 +4867,7 @@ is-resolvable@^1.0.0: resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== -is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -4506,11 +4931,24 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isomorphic-fetch@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +iterall@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" + integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== + javascript-stringify@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3" @@ -4521,7 +4959,12 @@ javascript-stringify@^2.0.1: resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== -js-tokens@^4.0.0: +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== @@ -4534,6 +4977,14 @@ js-yaml@^3.11.0, js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@~3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -4717,6 +5168,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash-es@^4.17.15: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -4732,6 +5188,21 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.defaultsdeep@^4.6.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.get@^4.0.0: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + lodash.kebabcase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" @@ -4762,7 +5233,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.5: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.5, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4772,6 +5243,13 @@ loglevel@^1.6.8: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" @@ -4802,6 +5280,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -4896,6 +5381,11 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +medium-zoom@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.0.6.tgz#9247f21ca9313d8bbe9420aca153a410df08d027" + integrity sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg== + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -5140,7 +5630,7 @@ negotiator@0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.1: +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== @@ -5157,6 +5647,14 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -5379,6 +5877,21 @@ opn@^5.5.0: dependencies: is-wsl "^1.1.0" +optimism@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz#163268fdc741dea2fb50f300bedda80356445fd7" + integrity sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw== + dependencies: + "@wry/context" "^0.4.0" + +optimism@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.1.tgz#7c8efc1f3179f18307b887e18c15c5b7133f6e7d" + integrity sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg== + dependencies: + "@wry/context" "^0.6.0" + "@wry/trie" "^0.3.0" + optimize-css-assets-webpack-plugin@^5.0.1: version "5.0.4" resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" @@ -6019,6 +6532,15 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= +prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + proxy-addr@~2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" @@ -6116,6 +6638,11 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qss@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/qss/-/qss-2.0.3.tgz#630b38b120931b52d04704f3abfb0f861604a9ec" + integrity sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ== + query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -6180,6 +6707,11 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-is@^16.7.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -6400,6 +6932,21 @@ resolve@^1.14.2, resolve@^1.2.0: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@~1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -6466,11 +7013,22 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sass-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -6485,7 +7043,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5: +schema-utils@^2.6.1, schema-utils@^2.6.5: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -6541,6 +7099,13 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@~7.3.0: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -6635,6 +7200,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6907,6 +7479,11 @@ strict-uri-encode@^1.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +string-argv@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -6991,6 +7568,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -7073,6 +7655,16 @@ svgo@^1.0.0: unquote "~1.1.1" util.promisify "~1.0.0" +symbol-observable@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + +symbol-observable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" + integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -7137,7 +7729,7 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -timsort@^0.3.0: +timsort@^0.3.0, timsort@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= @@ -7222,6 +7814,30 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA== + dependencies: + tslib "^1.9.3" + +ts-invariant@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.3.tgz#4b41e0a80c2530a56ce4b8fd4e14183aaac0efa8" + integrity sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA== + dependencies: + tslib "^2.1.0" + +tslib@^1.10.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -7269,6 +7885,16 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@^3.6.4: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typescript@~4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" + integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -7282,6 +7908,11 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" +uglify-js@^3.1.4: + version "3.14.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" + integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== + unbox-primitive@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -7509,6 +8140,11 @@ uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +validator@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" + integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -7549,6 +8185,11 @@ vue-loader@^15.7.1: vue-hot-reload-api "^2.3.0" vue-style-loader "^4.1.0" +vue-multiselect@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/vue-multiselect/-/vue-multiselect-2.1.6.tgz#5be5d811a224804a15c43a4edbb7485028a89c7f" + integrity sha512-s7jmZPlm9FeueJg1RwJtnE9KNPtME/7C8uRWSfp9/yEN4M8XcS/d+bddoyVwVnvFyRh9msFo0HWeW0vTL8Qv+w== + vue-router@^3.4.5: version "3.5.1" resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.1.tgz#edf3cf4907952d1e0583e079237220c5ff6eb6c9" @@ -7594,6 +8235,11 @@ vue@^2.6.10: resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123" integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== +vue@^2.6.11: + version "2.6.14" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" + integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== + vuepress-html-webpack-plugin@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz#219be272ad510faa8750d2d4e70fd028bfd1c16e" @@ -7622,7 +8268,7 @@ vuepress-plugin-smooth-scroll@^0.0.3: dependencies: smoothscroll-polyfill "^0.4.3" -vuepress@^1.5.3: +vuepress@^1.2.0: version "1.8.2" resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.8.2.tgz#97e8bf979630611fc7b621fc4cc35b798ee5e847" integrity sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA== @@ -7805,6 +8451,11 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +whatwg-fetch@>=0.10.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + when@~3.6.x: version "3.6.4" resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" @@ -7840,6 +8491,11 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -7903,6 +8559,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" @@ -7927,6 +8588,38 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" +z-schema@~3.18.3: + version "3.18.4" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-3.18.4.tgz#ea8132b279533ee60be2485a02f7e3e42541a9a2" + integrity sha512-DUOKC/IhbkdLKKiV89gw9DUauTV8U/8yJl1sjf6MtDmzevLKOF2duNJ495S3MFVjqZarr+qNGCPbkg4mu4PpLw== + dependencies: + lodash.get "^4.0.0" + lodash.isequal "^4.0.0" + validator "^8.0.0" + optionalDependencies: + commander "^2.7.1" + +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" + integrity sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg== + dependencies: + tslib "^1.9.3" + zen-observable "^0.8.0" + +zen-observable-ts@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz#2d1aa9d79b87058e9b75698b92791c1838551f83" + integrity sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA== + dependencies: + "@types/zen-observable" "0.8.3" + zen-observable "0.8.15" + +zen-observable@0.8.15, zen-observable@^0.8.0: + version "0.8.15" + resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== + zepto@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/zepto/-/zepto-1.2.0.tgz#e127bd9e66fd846be5eab48c1394882f7c0e4f98" diff --git a/internals/eslint-import/package.json b/internals/eslint-import/package.json index e62454d62..d9a3d0470 100644 --- a/internals/eslint-import/package.json +++ b/internals/eslint-import/package.json @@ -29,8 +29,8 @@ "rules" ], "dependencies": { - "eslint-import-resolver-typescript": "^2.4.0", - "eslint-plugin-import": "2.24.1" + "eslint-import-resolver-typescript": "^2.5.0", + "eslint-plugin-import": "2.24.2" }, "main": "index.js" } diff --git a/internals/eslint-jest/package.json b/internals/eslint-jest/package.json index ce2702ae2..aa89885c8 100644 --- a/internals/eslint-jest/package.json +++ b/internals/eslint-jest/package.json @@ -29,7 +29,7 @@ "rules" ], "dependencies": { - "eslint-plugin-jest": "^24.4.0" + "eslint-plugin-jest": "^24.4.2" }, "main": "index.js" } diff --git a/internals/eslint-typescript/package.json b/internals/eslint-typescript/package.json index af9326a7c..58b411720 100644 --- a/internals/eslint-typescript/package.json +++ b/internals/eslint-typescript/package.json @@ -29,8 +29,8 @@ "rules" ], "dependencies": { - "@typescript-eslint/eslint-plugin": "^4.29.3", - "@typescript-eslint/parser": "^4.29.3" + "@typescript-eslint/eslint-plugin": "^4.31.2", + "@typescript-eslint/parser": "^4.31.2" }, "main": "index.js" } diff --git a/internals/eslint-vue/package.json b/internals/eslint-vue/package.json index 1fb29fa37..7fd73996a 100644 --- a/internals/eslint-vue/package.json +++ b/internals/eslint-vue/package.json @@ -29,7 +29,7 @@ "rules" ], "dependencies": { - "eslint-plugin-vue": "^7.16.0" + "eslint-plugin-vue": "^7.18.0" }, "main": "index.js" } diff --git a/internals/eslint/package.json b/internals/eslint/package.json index 5823e13ec..bbf8b96a0 100644 --- a/internals/eslint/package.json +++ b/internals/eslint/package.json @@ -34,7 +34,7 @@ "eslint-config-airbnb-base": "^14.2.1", "eslint-config-airbnb-typescript": "^14.0.0", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-unicorn": "35.0.0" + "eslint-plugin-unicorn": "36.0.0" }, "main": "index.js" } diff --git a/package.json b/package.json index 6c7effd93..e7af4335a 100644 --- a/package.json +++ b/package.json @@ -37,33 +37,33 @@ "update:update": "ncu -u && lerna run update:update --stream" }, "devDependencies": { - "@babel/core": "^7.15.0", + "@babel/core": "^7.15.5", "@babel/plugin-proposal-private-methods": "^7.14.5", "@commitlint/cli": "^13.1.0", "@commitlint/config-conventional": "^13.1.0", "@commitlint/config-lerna-scopes": "^13.1.0", - "@graphql-codegen/cli": "2.1.1", - "@graphql-codegen/typescript": "2.1.1", - "@graphql-codegen/typescript-operations": "^2.1.1", + "@graphql-codegen/cli": "2.2.0", + "@graphql-codegen/typescript": "2.2.2", + "@graphql-codegen/typescript-operations": "^2.1.4", "@manypkg/cli": "^0.18.0", - "@rollup/plugin-node-resolve": "^13.0.4", + "@rollup/plugin-node-resolve": "^13.0.5", "@types/graphql": "^14.5.0", - "@types/jest": "^27.0.1", + "@types/jest": "^27.0.2", "@types/jsdom": "^16.2.13", - "@types/node": "^16.7.1", + "@types/node": "^16.9.6", "@types/webpack": "^5.28.0", - "@typescript-eslint/parser": "^4.29.3", + "@typescript-eslint/parser": "^4.31.2", "@vue/eslint-config-typescript": "^7.0.0", "all-contributors-cli": "^6.20.0", "babel-eslint": "^10.1.0", "commitizen": "^4.2.4", "ejs": "^3.1.6", "eslint": "7.32.0", - "husky": "^7.0.1", - "jest": "^27.0.6", + "husky": "^7.0.2", + "jest": "^27.2.1", "jest-date-mock": "^1.0.8", "jest-environment-jsdom-sixteen": "^2.0.0", - "jest-localstorage-mock": "^2.4.17", + "jest-localstorage-mock": "^2.4.18", "jest-silent-reporter": "^0.5.0", "jest-transform-stub": "^2.0.0", "jest-watch-toggle-config": "^2.0.1", @@ -71,16 +71,16 @@ "lerna": "^4.0.0", "lint-staged": "^11.1.2", "majestic": "^1.8.1", - "npm-check-updates": "^11.8.3", + "npm-check-updates": "^11.8.5", "rimraf": "^3.0.2", - "rollup": "^2.56.3", + "rollup": "^2.57.0", "rollup-plugin-typescript2": "^0.30.0", "shx": "^0.3.3", "ts-jest": "^27.0.5", "ts-node": "^10.2.1", "tslib": "^2.3.1", "typescript": "~4.2", - "vue-eslint-parser": "^7.10.0" + "vue-eslint-parser": "^7.11.0" }, "engines": { "node": ">=14.x" diff --git a/packages/api-client/.ncurc.json b/packages/api-client/.ncurc.json index 61c1a17f7..35f2ca3ef 100644 --- a/packages/api-client/.ncurc.json +++ b/packages/api-client/.ncurc.json @@ -1,6 +1,7 @@ { "reject": [ "husky", - "webpack" + "webpack", + "node-fetch" ] } diff --git a/packages/api-client/README.md b/packages/api-client/README.md index b4425775c..2f5883b4c 100644 --- a/packages/api-client/README.md +++ b/packages/api-client/README.md @@ -8,20 +8,17 @@ This is only the **api-client** package, you need to install the other dependencies also. ------- - This project is a Magento 2 integration for Vue Storefront 2. -This integration developed by superheroes from [Caravel](https://github.com/caravelx) and [Leonex](https://www.leonex.de/) ❤️ - +This integration developed by superheroes from [Caravel](https://github.com/caravelx) ❤️
-   +
+
[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-) - ## How to start if you want to try out the integration ``` @@ -33,10 +30,38 @@ vsf init && cd && yarn && yarn dev ## How to start if you want to contribute? -Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](https://discord.vuestorefront.io)! +Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io)! + ### Requirements: - - NodeJS v14 or later - - Magento >= v2.4 instance for GraphQL endpoint +- NodeJS v14 or later +- Yarn +- Magento >= v2.4.3 instance for GraphQL endpoint +- Change Magento GraphQL Query Complexity and Depth values + +::: warning Don't forget to change the Magento GraphQL Query Complexity and Depth values +Magento 2 by default has a lower value for the complexity of 300, and a higher value for the depth of 20. [Magento 2 - Issue #32427](https://github.com/magento/magento2/issues/32427#issuecomment-860478483) + +The changes are required, due to the size of the queries and mutations in the `api-client` implementation. + +To do this changes, you can use the [Magento 2 module](https://github.com/caravelx/module-graphql-config), which adds a configuration panel to your admin, or do this changes manually. +::: + +To install the Magento 2 GraphQL Config module, on your Magento installation execute: + +```bash +composer require caravelx/module-graphql-config + +php bin/magento module:enable Caravel_GraphQlConfig + +php bin/magento setup:upgrade + +php bin/magento setup:di:compile + +php bin/magento setup:static-content:deploy +``` + +Find more information about the module [GraphQl Custom Config](https://github.com/caravelx/module-graphql-config) + ### Steps 1. Fork the repo 2. Clone your fork of the repo @@ -47,32 +72,37 @@ Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](https:// ``` 3. Checkout develop branch `git checkout develop` 4. Run `yarn` to install dependencies -5. Copy .env.example and update GraphQL Endpoint +5. Define a store running environment by adding a `STORE_ENV` to your running project or execute the code + ```bash + $ echo "STORE_ENV=dev" >> .env ``` - cp packages/theme/.env.example .env +6. Copy `config/example.json` to an environment named config and update GraphQL Endpoint + ```bash + $ cp packages/theme/config/example.json packages/theme/config/dev.json ``` -6. Update `MAGENTO_GRAPHQL=` with url to Magento 2.4 GrapgQL endpoint +7. Update `magentoGraphQl` with url to Magento >=2.4.2 GraphQL endpoint, and the other variable accordingly to your store configurations. ``` - MAGENTO_GRAPHQL=https://{YOUR_SITE_FRONT_URL}/graphql + "magentoGraphQl": "https://{YOUR_SITE_FRONT_URL}/graphql", ``` -7. Build dependencies `yarn build:api-client && yarn build:composables` -8. Run `yarn dev:theme` to run theme. You can find other commands in `package.json` +8. Build dependencies `yarn build:api-client && yarn build:composables` +9. Run `yarn dev:theme` to run theme. You can find other commands in `package.json` - If you need HMR on Api Client/Composables run `yarn dev:api-client` or `yarn dev:composables` on a separate terminal window. ## Resources - [Vue Storefront Documentation](https://docs.vuestorefront.io/v2/) - [Magento 2 integration Documentation (WIP)](https://docs.vuestorefront.io/magento) -- [Community Chat](https://discord.vuestorefront.io) +- [Community Chat](http://discord.vuestorefront.io) ## Support -If you have any questions about this integration we will be happy to answer them on `magento2-vsf2` channel on [our Discord](discord.vuestorefront.io). +If you have any questions about this integration we will be happy to answer them on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io). ## Contributors ✨ ### Honorable Mentions - [Cyberfuze](https://cyberfuze.com/) +- [Leonex](https://www.leonex.de/) Thanks go to these wonderful people 🙌: @@ -81,7 +111,7 @@ Thanks go to these wonderful people 🙌: - + @@ -106,3 +136,4 @@ Thanks go to these wonderful people 🙌: This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/packages/api-client/api-extractor.json b/packages/api-client/api-extractor.json new file mode 100644 index 000000000..f953174a2 --- /dev/null +++ b/packages/api-client/api-extractor.json @@ -0,0 +1,10 @@ +{ + "extends": "../../api-extractor.base.json", + "mainEntryPointFilePath": "./lib/api-extractor-data.d.ts", + "dtsRollup": { + "untrimmedFilePath": "./lib/.d.ts" + }, + "docModel": { + "apiJsonFilePath": "/docs/api-reference/.api.json" + } +} diff --git a/packages/api-client/package.json b/packages/api-client/package.json index be7b2b05f..a92982623 100644 --- a/packages/api-client/package.json +++ b/packages/api-client/package.json @@ -24,8 +24,8 @@ "update:update": "ncu -u" }, "dependencies": { - "@apollo/client": "^3.4.8", - "@vue-storefront/core": "~2.4.1", + "@apollo/client": "^3.4.13", + "@vue-storefront/core": "~2.4.2", "apollo-cache-inmemory": "^1.6.6", "apollo-client": "^2.6.10", "apollo-link": "^1.2.14", @@ -33,7 +33,7 @@ "apollo-link-error": "^1.1.13", "apollo-link-http": "^1.5.17", "apollo-link-retry": "^2.2.16", - "graphql": "^15.5.1", + "graphql": "^15.6.0", "graphql-tag": "^2.12.5", "isomorphic-fetch": "^3.0.0" }, @@ -44,10 +44,10 @@ "@types/isomorphic-fetch": "^0.0.35", "apollo-link-schema": "^1.2.5", "dotenv": "^10.0.0", - "graphql-tools": "^8.1.0", + "graphql-tools": "^8.2.0", "jest-transform-graphql": "^2.1.0", - "node-fetch": "^2.6.1", - "typescript": "^4.3.5", + "node-fetch": "^2.6.5", + "typescript": "^4.4.3", "webpack": "^4.46.0" }, "files": [ diff --git a/packages/api-client/partial-types.js b/packages/api-client/partial-types.js index ab33a9508..78f164c6b 100644 --- a/packages/api-client/partial-types.js +++ b/packages/api-client/partial-types.js @@ -2,6 +2,7 @@ require('dotenv').config(); const fetch = require('node-fetch'); const fs = require('fs'); +// eslint-disable-next-line promise/catch-or-return fetch(process.env.MAGENTO_GRAPHQL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, @@ -21,19 +22,17 @@ fetch(process.env.MAGENTO_GRAPHQL, { } `, }), -}).then((result) => result.json()) +}) + .then((result) => result.json()) .then((result) => { - const possibleTypes = {}; - - result.data.__schema.types.forEach((supertype) => { - if (supertype.possibleTypes) { - possibleTypes[supertype.name] = supertype.possibleTypes.map((subtype) => subtype.name); - } - }); - - fs.writeFile('./src/types/fragmentTypes.json', JSON.stringify(possibleTypes), (err) => { + // here we're filtering out any type information unrelated to unions or interfaces + const filteredData = result.data.__schema.types.filter( + (type) => type.possibleTypes !== null, + ); + result.data.__schema.types = filteredData; + fs.writeFileSync('./src/types/fragmentTypes.json', JSON.stringify(result.data), (err) => { if (err) { - console.error('Error writing possibleTypes.json', err); + console.error('Error writing fragmentTypes file', err); } else { console.log('Fragment types successfully extracted!'); } diff --git a/packages/api-client/schema.graphql b/packages/api-client/schema.graphql index ea22c1bf3..1ac988bb7 100644 --- a/packages/api-client/schema.graphql +++ b/packages/api-client/schema.graphql @@ -1,5704 +1,6077 @@ # This file was generated based on ".graphqlconfig". Do not edit manually. schema { - query: Query - mutation: Mutation + query: Query + mutation: Mutation } interface AggregationOptionInterface { - "The number of items that match the aggregation option." - count: Int - "Aggregation option display label." - label: String - "The internal ID that represents the value of the option." - value: String! + "The number of items that match the aggregation option." + count: Int + "Aggregation option display label." + label: String + "The internal ID that represents the value of the option." + value: String! } interface CartAddressInterface { - city: String! - company: String - country: CartAddressCountry! - firstname: String! - lastname: String! - postcode: String - region: CartAddressRegion - street: [String]! - telephone: String! + city: String! + company: String + country: CartAddressCountry! + firstname: String! + lastname: String! + postcode: String + region: CartAddressRegion + street: [String]! + telephone: String! } interface CartItemInterface { - id: String! @deprecated(reason : "Use `uid` instead") - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "The unique ID for a `CartItemInterface` object" - uid: ID! + id: String! @deprecated(reason : "Use `uid` instead") + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "The unique ID for a `CartItemInterface` object" + uid: ID! } "CategoryInterface contains the full set of attributes that can be returned in a category search." interface CategoryInterface { - available_sort_by: [String] - "Breadcrumbs, parent categories info." - breadcrumbs: [Breadcrumb] - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled" - canonical_url: String - children_count: String - "Category CMS Block." - cms_block: CmsBlock - "Timestamp indicating when the category was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - custom_layout_update_file: String - "The attribute to use for sorting." - default_sort_by: String - "An optional description of the category." - description: String - display_mode: String - filter_price_range: Float - "An ID that uniquely identifies the category." - id: Int @deprecated(reason : "Use the `uid` argument instead.") - image: String - include_in_menu: Int - is_anchor: Int - landing_page: Int - "Indicates the depth of the category within the tree." - level: Int - meta_description: String - meta_keywords: String - meta_title: String - "The display name of the category." - name: String - "Category Path." - path: String - "Category path in store." - path_in_store: String - "The position of the category relative to other categories at the same level in tree." - position: Int - "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." - product_count: Int - "The list of products assigned to the category." - products( - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once. This attribute is optional." - pageSize: Int = 20, - "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." - sort: ProductAttributeSortInput - ): CategoryProducts - "The unique ID for a `CategoryInterface` object." - uid: ID! - "Timestamp indicating when the category was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "The url key assigned to the category." - url_key: String - "The url path assigned to the category." - url_path: String - "The part of the category URL that is appended after the url key" - url_suffix: String + available_sort_by: [String] + "Breadcrumbs, parent categories info." + breadcrumbs: [Breadcrumb] + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled" + canonical_url: String + children_count: String + "Category CMS Block." + cms_block: CmsBlock + "Timestamp indicating when the category was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + custom_layout_update_file: String + "The attribute to use for sorting." + default_sort_by: String + "An optional description of the category." + description: String + display_mode: String + filter_price_range: Float + "An ID that uniquely identifies the category." + id: Int @deprecated(reason : "Use the `uid` argument instead.") + image: String + include_in_menu: Int + is_anchor: Int + landing_page: Int + "Indicates the depth of the category within the tree." + level: Int + meta_description: String + meta_keywords: String + meta_title: String + "The display name of the category." + name: String + "Category Path." + path: String + "Category path in store." + path_in_store: String + "The position of the category relative to other categories at the same level in tree." + position: Int + "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." + product_count: Int + "The list of products assigned to the category." + products( + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once. This attribute is optional." + pageSize: Int = 20, + "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." + sort: ProductAttributeSortInput + ): CategoryProducts + "The unique ID for a `CategoryInterface` object." + uid: ID! + "Timestamp indicating when the category was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "The url key assigned to the category." + url_key: String + "The url path assigned to the category." + url_path: String + "The part of the category URL that is appended after the url key" + url_suffix: String } "Credit memo item details" interface CreditMemoItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `CreditMemoItemInterface` object" - id: ID! - "The order item the credit memo is applied to" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product, including selected options" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "The number of refunded items" - quantity_refunded: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `CreditMemoItemInterface` object" + id: ID! + "The order item the credit memo is applied to" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product, including selected options" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "The number of refunded items" + quantity_refunded: Float } "The CustomizableOptionInterface contains basic information about a customizable option. It can be implemented by several types of configurable options." interface CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! } "CustomizableProductInterface contains information about customizable product options." interface CustomizableProductInterface { - "An array of options for a customizable product." - options: [CustomizableOptionInterface] + "An array of options for a customizable product." + options: [CustomizableOptionInterface] } "Invoice item details" interface InvoiceItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `InvoiceItemInterface` object" - id: ID! - "Contains details about an individual order item" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The number of invoiced items" - quantity_invoiced: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `InvoiceItemInterface` object" + id: ID! + "Contains details about an individual order item" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The number of invoiced items" + quantity_invoiced: Float } interface LayerFilterItemInterface { - "Count of items by filter." - items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") - "Filter label." - label: String @deprecated(reason : "Use AggregationOption.label instead.") - "Value for filter request variable to be used in query." - value_string: String @deprecated(reason : "Use AggregationOption.value instead.") + "Count of items by filter." + items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") + "Filter label." + label: String @deprecated(reason : "Use AggregationOption.label instead.") + "Value for filter request variable to be used in query." + value_string: String @deprecated(reason : "Use AggregationOption.value instead.") } "Contains basic information about a product image or video." interface MediaGalleryInterface { - "Whether the image is hidden from view." - disabled: Boolean - "The label of the product image or video." - label: String - "The media item's position after it has been sorted." - position: Int - "The URL of the product image or video." - url: String + "Whether the image is hidden from view." + disabled: Boolean + "The label of the product image or video." + label: String + "The media item's position after it has been sorted." + position: Int + "The URL of the product image or video." + url: String } "Order item details" interface OrderItemInterface { - "The final discount information for the product" - discounts: [Discount] - "The entered option for the base product, such as a logo or image" - entered_options: [OrderItemOption] - "The unique ID for a `OrderItemInterface` object" - id: ID! - "The name of the base product" - product_name: String - "The sale price of the base product, including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The type of product, such as simple, configurable, etc." - product_type: String - "URL key of the base product" - product_url_key: String - "The number of canceled items" - quantity_canceled: Float - "The number of invoiced items" - quantity_invoiced: Float - "The number of units ordered for this item" - quantity_ordered: Float - "The number of refunded items" - quantity_refunded: Float - "The number of returned items" - quantity_returned: Float - "The number of shipped items" - quantity_shipped: Float - "The selected options for the base product, such as color or size" - selected_options: [OrderItemOption] - "The status of the order item" - status: String + "The final discount information for the product" + discounts: [Discount] + "The entered option for the base product, such as a logo or image" + entered_options: [OrderItemOption] + "The unique ID for a `OrderItemInterface` object" + id: ID! + "The name of the base product" + product_name: String + "The sale price of the base product, including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The type of product, such as simple, configurable, etc." + product_type: String + "URL key of the base product" + product_url_key: String + "The number of canceled items" + quantity_canceled: Float + "The number of invoiced items" + quantity_invoiced: Float + "The number of units ordered for this item" + quantity_ordered: Float + "The number of refunded items" + quantity_refunded: Float + "The number of returned items" + quantity_returned: Float + "The number of shipped items" + quantity_shipped: Float + "The selected options for the base product, such as color or size" + selected_options: [OrderItemOption] + "The status of the order item" + status: String } "PhysicalProductInterface contains attributes specific to tangible products." interface PhysicalProductInterface { - "The weight of the item, in units defined by the store." - weight: Float + "The weight of the item, in units defined by the store." + weight: Float } "The ProductInterface contains attributes that are common to all types of products. Note that descriptions may not be available for custom and EAV attributes." interface ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Related Products" + related_products: [ProductInterface] + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") } "ProductLinks contains information about linked products, including the link type and product type of each item." interface ProductLinksInterface { - "One of related, associated, upsell, or crosssell." - link_type: String - "The SKU of the linked product." - linked_product_sku: String - "The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable)." - linked_product_type: String - "The position within the list of product links." - position: Int - "The identifier of the linked product." - sku: String + "One of related, associated, upsell, or crosssell." + link_type: String + "The SKU of the linked product." + linked_product_sku: String + "The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable)." + linked_product_type: String + "The position within the list of product links." + position: Int + "The identifier of the linked product." + sku: String +} + +"Routable entities serve as the model for a rendered page" +interface RoutableInterface { + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum } "Order shipment item details" interface ShipmentItemInterface { - "The unique ID for a `ShipmentItemInterface` object" - id: ID! - "Associated order item" - order_item: OrderItemInterface - "Name of the base product" - product_name: String - "Sale price for the base product" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "Number of shipped items" - quantity_shipped: Float! + "The unique ID for a `ShipmentItemInterface` object" + id: ID! + "Associated order item" + order_item: OrderItemInterface + "Name of the base product" + product_name: String + "Sale price for the base product" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "Number of shipped items" + quantity_shipped: Float! } interface SwatchDataInterface { - "Value of swatch item (HEX color code, image link or textual value)" - value: String + "Value of swatch item (HEX color code, image link or textual value)" + value: String } interface SwatchLayerFilterItemInterface { - "Data required to render swatch filter item" - swatch_data: SwatchData + "Data required to render swatch filter item" + swatch_data: SwatchData } interface WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } type AddBundleProductsToCartOutput { - cart: Cart! + cart: Cart! } type AddConfigurableProductsToCartOutput { - cart: Cart! + cart: Cart! } type AddDownloadableProductsToCartOutput { - cart: Cart! + cart: Cart! } type AddProductsToCartOutput { - "The cart after products have been added" - cart: Cart! - "An error encountered while adding an item to the cart." - user_errors: [CartUserInputError]! + "The cart after products have been added" + cart: Cart! + "An error encountered while adding an item to the cart." + user_errors: [CartUserInputError]! } "Contains the customer's wish list and any errors encountered" type AddProductsToWishlistOutput { - "An array of errors encountered while adding products to a wish list" - user_errors: [WishListUserInputError]! - "Contains the wish list with all items that were successfully added" - wishlist: Wishlist! + "An array of errors encountered while adding products to a wish list" + user_errors: [WishListUserInputError]! + "Contains the wish list with all items that were successfully added" + wishlist: Wishlist! } type AddSimpleProductsToCartOutput { - cart: Cart! + cart: Cart! } type AddVirtualProductsToCartOutput { - cart: Cart! + cart: Cart! +} + +type AddWishlistItemsToCartOutput { + "An array of errors encountered while adding products to the customer's cart" + add_wishlist_items_to_cart_user_errors: [WishlistCartUserInputError]! + "Indicates whether the attempt to add items to the customer's cart was successful" + status: Boolean! + "Contains the wish list with all items that were successfully added" + wishlist: Wishlist! } "A bucket that contains information for each filterable option (such as price, category `UID`, and custom attributes)." type Aggregation { - "Attribute code of the aggregation group." - attribute_code: String! - "The number of options in the aggregation group." - count: Int - "The aggregation display name." - label: String - "Array of options for the aggregation." - options: [AggregationOption] + "Attribute code of the aggregation group." + attribute_code: String! + "The number of options in the aggregation group." + count: Int + "The aggregation display name." + label: String + "Array of options for the aggregation." + options: [AggregationOption] + "The relative position of the attribute in a layered navigation block" + position: Int } type AggregationOption implements AggregationOptionInterface { - "The number of items that match the aggregation option." - count: Int - "Aggregation option display label." - label: String - "The internal ID that represents the value of the option." - value: String! + "The number of items that match the aggregation option." + count: Int + "Aggregation option display label." + label: String + "The internal ID that represents the value of the option." + value: String! } type AppliedCoupon { - code: String! + code: String! } type ApplyCouponToCartOutput { - cart: Cart! + cart: Cart! } type Assets { - "The payment method logo url (descriptive)" - descriptive: String - "The payment method logo url (standard)" - standard: String + "The payment method logo url (descriptive)" + descriptive: String + "The payment method logo url (standard)" + standard: String } type AssignCompareListToCustomerOutput { - "The contents of the customer's compare list" - compare_list: CompareList - result: Boolean! + "The contents of the customer's compare list" + compare_list: CompareList + result: Boolean! } "Attribute contains the attribute_type of the specified attribute_code and entity_type" type Attribute { - "The unique identifier for an attribute code. This value should be in lowercase letters without spaces." - attribute_code: String - "Attribute options list." - attribute_options: [AttributeOption] - "The data type of the attribute" - attribute_type: String - "The type of entity that defines the attribute" - entity_type: String - "The frontend input type of the attribute" - input_type: String + "The unique identifier for an attribute code. This value should be in lowercase letters without spaces." + attribute_code: String + "Attribute options list." + attribute_options: [AttributeOption] + "The data type of the attribute" + attribute_type: String + "The type of entity that defines the attribute" + entity_type: String + "The frontend input type of the attribute" + input_type: String + "Contains details about the storefront properties configured for the attribute" + storefront_properties: StorefrontProperties } "Attribute option." type AttributeOption { - "Attribute option label." - label: String - "Attribute option value." - value: String + "Attribute option label." + label: String + "Attribute option value." + value: String } type AvailablePaymentMethod { - "The payment method code" - code: String! - "The payment method title." - title: String! + "The payment method code" + code: String! + "The payment method title." + title: String! } type AvailableShippingMethod { - amount: Money! - available: Boolean! - base_amount: Money @deprecated(reason : "The field should not be used on the storefront") - carrier_code: String! - carrier_title: String! - error_message: String - "Could be null if method is not available" - method_code: String - "Could be null if method is not available" - method_title: String - price_excl_tax: Money! - price_incl_tax: Money! + amount: Money! + available: Boolean! + base_amount: Money @deprecated(reason : "The field should not be used on the storefront") + carrier_code: String! + carrier_title: String! + error_message: String + "Could be null if method is not available" + method_code: String + "Could be null if method is not available" + method_title: String + price_excl_tax: Money! + price_incl_tax: Money! } type BillingCartAddress implements CartAddressInterface { - city: String! - company: String - country: CartAddressCountry! - customer_notes: String @deprecated(reason : "The field is used only in shipping address") - firstname: String! - lastname: String! - postcode: String - region: CartAddressRegion - street: [String]! - telephone: String! + city: String! + company: String + country: CartAddressCountry! + customer_notes: String @deprecated(reason : "The field is used only in shipping address") + firstname: String! + lastname: String! + postcode: String + region: CartAddressRegion + street: [String]! + telephone: String! } "Breadcrumb item." type Breadcrumb { - "Category ID." - category_id: Int @deprecated(reason : "Use the `category_uid` argument instead.") - "Category level." - category_level: Int - "Category name." - category_name: String - "The unique ID for a `Breadcrumb` object." - category_uid: ID! - "Category URL key." - category_url_key: String - "Category URL path." - category_url_path: String + "Category ID." + category_id: Int @deprecated(reason : "Use the `category_uid` argument instead.") + "Category level." + category_level: Int + "Category name." + category_name: String + "The unique ID for a `Breadcrumb` object." + category_uid: ID! + "Category URL key." + category_url_key: String + "Category URL path." + category_url_path: String } type BundleCartItem implements CartItemInterface { - bundle_options: [SelectedBundleOption]! - customizable_options: [SelectedCustomizableOption]! - "The entered gift message for the cart item" - gift_message: GiftMessage - id: String! @deprecated(reason : "Use `uid` instead") - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "The unique ID for a `CartItemInterface` object" - uid: ID! + bundle_options: [SelectedBundleOption]! + customizable_options: [SelectedCustomizableOption]! + "The entered gift message for the cart item" + gift_message: GiftMessage + id: String! @deprecated(reason : "Use `uid` instead") + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "The unique ID for a `CartItemInterface` object" + uid: ID! } type BundleCreditMemoItem implements CreditMemoItemInterface { - "A list of bundle options that are assigned to the bundle product" - bundle_options: [ItemSelectedBundleOption] - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `CreditMemoItemInterface` object" - id: ID! - "The order item the credit memo is applied to" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product, including selected options" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "The number of refunded items" - quantity_refunded: Float + "A list of bundle options that are assigned to the bundle product" + bundle_options: [ItemSelectedBundleOption] + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `CreditMemoItemInterface` object" + id: ID! + "The order item the credit memo is applied to" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product, including selected options" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "The number of refunded items" + quantity_refunded: Float } type BundleInvoiceItem implements InvoiceItemInterface { - "A list of bundle options that are assigned to the bundle product" - bundle_options: [ItemSelectedBundleOption] - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `InvoiceItemInterface` object" - id: ID! - "Contains details about an individual order item" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The number of invoiced items" - quantity_invoiced: Float + "A list of bundle options that are assigned to the bundle product" + bundle_options: [ItemSelectedBundleOption] + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `InvoiceItemInterface` object" + id: ID! + "Contains details about an individual order item" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The number of invoiced items" + quantity_invoiced: Float } "BundleItem defines an individual item in a bundle product." type BundleItem { - "An ID assigned to each type of item in a bundle product." - option_id: Int @deprecated(reason : "Use `uid` instead") - "An array of additional options for this bundle item." - options: [BundleItemOption] - "he relative position of this item compared to the other bundle items." - position: Int - "Indicates whether the item must be included in the bundle." - required: Boolean - "The SKU of the bundle product." - sku: String - "The display name of the item." - title: String - "The input type that the customer uses to select the item. Examples include radio button and checkbox." - type: String - "The unique ID for a `BundleItem` object." - uid: ID + "An ID assigned to each type of item in a bundle product." + option_id: Int @deprecated(reason : "Use `uid` instead") + "An array of additional options for this bundle item." + options: [BundleItemOption] + "he relative position of this item compared to the other bundle items." + position: Int + "Indicates whether the item must be included in the bundle." + required: Boolean + "The SKU of the bundle product." + sku: String + "The display name of the item." + title: String + "The input type that the customer uses to select the item. Examples include radio button and checkbox." + type: String + "The unique ID for a `BundleItem` object." + uid: ID } "BundleItemOption defines characteristics and options for a specific bundle item." type BundleItemOption { - "Indicates whether the customer can change the number of items for this option." - can_change_quantity: Boolean - "The ID assigned to the bundled item option." - id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether this option is the default option." - is_default: Boolean - "The text that identifies the bundled item option." - label: String - "When a bundle item contains multiple options, the relative position of this option compared to the other options." - position: Int - "The price of the selected option." - price: Float - "One of FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "Contains details about this product option." - product: ProductInterface - "Indicates the quantity of this specific bundle item." - qty: Float @deprecated(reason : "The `qty` is deprecated. Use `quantity` instead.") - "Indicates the quantity of this specific bundle item." - quantity: Float - "The unique ID for a `BundleItemOption` object." - uid: ID! + "Indicates whether the customer can change the number of items for this option." + can_change_quantity: Boolean + "The ID assigned to the bundled item option." + id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether this option is the default option." + is_default: Boolean + "The text that identifies the bundled item option." + label: String + "When a bundle item contains multiple options, the relative position of this option compared to the other options." + position: Int + "The price of the selected option." + price: Float + "One of FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "Contains details about this product option." + product: ProductInterface + "Indicates the quantity of this specific bundle item." + qty: Float @deprecated(reason : "The `qty` is deprecated. Use `quantity` instead.") + "Indicates the quantity of this specific bundle item." + quantity: Float + "The unique ID for a `BundleItemOption` object." + uid: ID! } type BundleOrderItem implements OrderItemInterface { - "A list of bundle options that are assigned to the bundle product" - bundle_options: [ItemSelectedBundleOption] - "The final discount information for the product" - discounts: [Discount] - "The entered option for the base product, such as a logo or image" - entered_options: [OrderItemOption] - "The unique ID for a `OrderItemInterface` object" - id: ID! - "The name of the base product" - product_name: String - "The sale price of the base product, including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The type of product, such as simple, configurable, etc." - product_type: String - "URL key of the base product" - product_url_key: String - "The number of canceled items" - quantity_canceled: Float - "The number of invoiced items" - quantity_invoiced: Float - "The number of units ordered for this item" - quantity_ordered: Float - "The number of refunded items" - quantity_refunded: Float - "The number of returned items" - quantity_returned: Float - "The number of shipped items" - quantity_shipped: Float - "The selected options for the base product, such as color or size" - selected_options: [OrderItemOption] - "The status of the order item" - status: String -} - -"BundleProduct defines basic features of a bundle product and contains multiple BundleItems." -type BundleProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether the bundle product has a dynamic price." - dynamic_price: Boolean - "Indicates whether the bundle product has a dynamic SK." - dynamic_sku: Boolean - "Indicates whether the bundle product has a dynamically calculated weight." - dynamic_weight: Boolean - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "An array containing information about individual bundle items." - items: [BundleItem] - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "An array of options for a customizable product." - options: [CustomizableOptionInterface] - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "One of PRICE_RANGE or AS_LOW_AS." - price_view: PriceViewEnum - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "Indicates whether to ship bundle items together or individually." - ship_bundle_items: ShipBundleItemsEnum - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") - "The weight of the item, in units defined by the store." - weight: Float + "A list of bundle options that are assigned to the bundle product" + bundle_options: [ItemSelectedBundleOption] + "The final discount information for the product" + discounts: [Discount] + "The entered option for the base product, such as a logo or image" + entered_options: [OrderItemOption] + "The unique ID for a `OrderItemInterface` object" + id: ID! + "The name of the base product" + product_name: String + "The sale price of the base product, including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The type of product, such as simple, configurable, etc." + product_type: String + "URL key of the base product" + product_url_key: String + "The number of canceled items" + quantity_canceled: Float + "The number of invoiced items" + quantity_invoiced: Float + "The number of units ordered for this item" + quantity_ordered: Float + "The number of refunded items" + quantity_refunded: Float + "The number of returned items" + quantity_returned: Float + "The number of shipped items" + quantity_shipped: Float + "The selected options for the base product, such as color or size" + selected_options: [OrderItemOption] + "The status of the order item" + status: String +} + +"Defines basic features of a bundle product and contains multiple BundleItems" +type BundleProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + "Indicates whether the bundle product has a dynamic price." + dynamic_price: Boolean + "Indicates whether the bundle product has a dynamic SK." + dynamic_sku: Boolean + "Indicates whether the bundle product has a dynamically calculated weight." + dynamic_weight: Boolean + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "An array containing information about individual bundle items." + items: [BundleItem] + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "An array of options for a customizable product." + options: [CustomizableOptionInterface] + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "One of PRICE_RANGE or AS_LOW_AS." + price_view: PriceViewEnum + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "Indicates whether to ship bundle items together or individually." + ship_bundle_items: ShipBundleItemsEnum + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + "The weight of the item, in units defined by the store." + weight: Float } type BundleShipmentItem implements ShipmentItemInterface { - "A list of bundle options that are assigned to the bundle product" - bundle_options: [ItemSelectedBundleOption] - "The unique ID for a `ShipmentItemInterface` object" - id: ID! - "Associated order item" - order_item: OrderItemInterface - "Name of the base product" - product_name: String - "Sale price for the base product" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "Number of shipped items" - quantity_shipped: Float! + "A list of bundle options that are assigned to the bundle product" + bundle_options: [ItemSelectedBundleOption] + "The unique ID for a `ShipmentItemInterface` object" + id: ID! + "Associated order item" + order_item: OrderItemInterface + "Name of the base product" + product_name: String + "Sale price for the base product" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "Number of shipped items" + quantity_shipped: Float! } type BundleWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "An array containing information about the selected bundle items" - bundle_options: [SelectedBundleOption] - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "An array containing information about the selected bundle items" + bundle_options: [SelectedBundleOption] + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } type Cart { - "An array of coupons that have been applied to the cart" - applied_coupon: AppliedCoupon @deprecated(reason : "Use applied_coupons instead") - "An array of `AppliedCoupon` objects. Each object contains the `code` text attribute, which specifies the coupon code" - applied_coupons: [AppliedCoupon] - "Available payment methods" - available_payment_methods: [AvailablePaymentMethod] - billing_address: BillingCartAddress - email: String - "The entered gift message for the cart" - gift_message: GiftMessage - "The unique ID for a `Cart` object" - id: ID! - is_virtual: Boolean! - items: [CartItemInterface] - prices: CartPrices - selected_payment_method: SelectedPaymentMethod - shipping_addresses: [ShippingCartAddress]! - total_quantity: Float! + "An array of coupons that have been applied to the cart" + applied_coupon: AppliedCoupon @deprecated(reason : "Use applied_coupons instead") + "An array of `AppliedCoupon` objects. Each object contains the `code` text attribute, which specifies the coupon code" + applied_coupons: [AppliedCoupon] + "Available payment methods" + available_payment_methods: [AvailablePaymentMethod] + billing_address: BillingCartAddress + email: String + "The entered gift message for the cart" + gift_message: GiftMessage + "The unique ID for a `Cart` object" + id: ID! + is_virtual: Boolean! + items: [CartItemInterface] + prices: CartPrices + selected_payment_method: SelectedPaymentMethod + shipping_addresses: [ShippingCartAddress]! + total_quantity: Float! } type CartAddressCountry { - code: String! - label: String! + code: String! + label: String! } type CartAddressRegion { - code: String - label: String - region_id: Int + code: String + label: String + region_id: Int } type CartDiscount { - amount: Money! - label: [String]! + amount: Money! + label: [String]! } type CartItemPrices { - "An array of discounts to be applied to the cart item" - discounts: [Discount] - price: Money! - row_total: Money! - row_total_including_tax: Money! - "The total of all discounts applied to the item" - total_item_discount: Money + "An array of discounts to be applied to the cart item" + discounts: [Discount] + "Applied FPT to the cart item." + fixed_product_taxes: [FixedProductTax] + price: Money! + row_total: Money! + row_total_including_tax: Money! + "The total of all discounts applied to the item" + total_item_discount: Money } "Deprecated: `cart_items` field of `ShippingCartAddress` returns now `CartItemInterface` instead of `CartItemQuantity`" type CartItemQuantity { - cart_item_id: Int! @deprecated(reason : "`cart_items` field of `ShippingCartAddress` returns now `CartItemInterface` instead of `CartItemQuantity`") - quantity: Float! @deprecated(reason : "`cart_items` field of `ShippingCartAddress` returns now `CartItemInterface` instead of `CartItemQuantity`") + cart_item_id: Int! @deprecated(reason : "`cart_items` field of `ShippingCartAddress` returns now `CartItemInterface` instead of `CartItemQuantity`") + quantity: Float! @deprecated(reason : "`cart_items` field of `ShippingCartAddress` returns now `CartItemInterface` instead of `CartItemQuantity`") } type CartItemSelectedOptionValuePrice { - type: PriceTypeEnum! - units: String! - value: Float! + type: PriceTypeEnum! + units: String! + value: Float! } type CartPrices { - applied_taxes: [CartTaxItem] - discount: CartDiscount @deprecated(reason : "Use discounts instead ") - "An array of applied discounts" - discounts: [Discount] - grand_total: Money - subtotal_excluding_tax: Money - subtotal_including_tax: Money - subtotal_with_discount_excluding_tax: Money + applied_taxes: [CartTaxItem] + discount: CartDiscount @deprecated(reason : "Use discounts instead ") + "An array of applied discounts" + discounts: [Discount] + grand_total: Money + subtotal_excluding_tax: Money + subtotal_including_tax: Money + subtotal_with_discount_excluding_tax: Money } type CartTaxItem { - amount: Money! - label: String! + amount: Money! + label: String! } "An error encountered while adding an item to the the cart." type CartUserInputError { - "Cart-specific error code" - code: CartUserInputErrorType! - "A localized error message" - message: String! + "Cart-specific error code" + code: CartUserInputErrorType! + "A localized error message" + message: String! } type Categories { - "The payment method assets" - asset_urls: [Assets] - "The payment method identifier" - identifier: String! - "The payment method name" - name: String! + "The payment method assets" + asset_urls: [Assets] + "The payment method identifier" + identifier: String! + "The payment method name" + name: String! } "The category products object returned in the Category query." type CategoryProducts { - "An array of products that are assigned to the category." - items: [ProductInterface] - "An object that includes the page_info and currentPage values specified in the query." - page_info: SearchResultPageInfo - "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." - total_count: Int + "An array of products that are assigned to the category." + items: [ProductInterface] + "An object that includes the page_info and currentPage values specified in the query." + page_info: SearchResultPageInfo + "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." + total_count: Int } "A collection of CategoryTree objects and pagination information." type CategoryResult { - "A list of categories that match the filter criteria." - items: [CategoryTree] - "An object that includes the page_info and currentPage values specified in the query." - page_info: SearchResultPageInfo - "The total number of categories that match the criteria." - total_count: Int -} - -"Category Tree implementation." -type CategoryTree implements CategoryInterface { - available_sort_by: [String] - "Breadcrumbs, parent categories info." - breadcrumbs: [Breadcrumb] - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled" - canonical_url: String - "Child categories tree." - children: [CategoryTree] - children_count: String - "Category CMS Block." - cms_block: CmsBlock - "Timestamp indicating when the category was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - custom_layout_update_file: String - "The attribute to use for sorting." - default_sort_by: String - "An optional description of the category." - description: String - display_mode: String - filter_price_range: Float - "An ID that uniquely identifies the category." - id: Int @deprecated(reason : "Use the `uid` argument instead.") - image: String - include_in_menu: Int - is_anchor: Int - landing_page: Int - "Indicates the depth of the category within the tree." - level: Int - meta_description: String - meta_keywords: String - meta_title: String - "The display name of the category." - name: String - "Category Path." - path: String - "Category path in store." - path_in_store: String - "The position of the category relative to other categories at the same level in tree." - position: Int - "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." - product_count: Int - "The list of products assigned to the category." - products( - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once. This attribute is optional." - pageSize: Int = 20, - "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." - sort: ProductAttributeSortInput - ): CategoryProducts - "The unique ID for a `CategoryInterface` object." - uid: ID! - "Timestamp indicating when the category was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "The url key assigned to the category." - url_key: String - "The url path assigned to the category." - url_path: String - "The part of the category URL that is appended after the url key" - url_suffix: String + "A list of categories that match the filter criteria." + items: [CategoryTree] + "An object that includes the page_info and currentPage values specified in the query." + page_info: SearchResultPageInfo + "The total number of categories that match the criteria." + total_count: Int +} + +"Category tree implementation" +type CategoryTree implements CategoryInterface & RoutableInterface { + available_sort_by: [String] + "Breadcrumbs, parent categories info." + breadcrumbs: [Breadcrumb] + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled" + canonical_url: String + "Child categories tree." + children: [CategoryTree] + children_count: String + "Category CMS Block." + cms_block: CmsBlock + "Timestamp indicating when the category was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + custom_layout_update_file: String + "The attribute to use for sorting." + default_sort_by: String + "An optional description of the category." + description: String + display_mode: String + filter_price_range: Float + "An ID that uniquely identifies the category." + id: Int @deprecated(reason : "Use the `uid` argument instead.") + image: String + include_in_menu: Int + is_anchor: Int + landing_page: Int + "Indicates the depth of the category within the tree." + level: Int + meta_description: String + meta_keywords: String + meta_title: String + "The display name of the category." + name: String + "Category Path." + path: String + "Category path in store." + path_in_store: String + "The position of the category relative to other categories at the same level in tree." + position: Int + "The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." + product_count: Int + "The list of products assigned to the category." + products( + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once. This attribute is optional." + pageSize: Int = 20, + "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." + sort: ProductAttributeSortInput + ): CategoryProducts + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "The unique ID for a `CategoryInterface` object." + uid: ID! + "Timestamp indicating when the category was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "The url key assigned to the category." + url_key: String + "The url path assigned to the category." + url_path: String + "The part of the category URL that is appended after the url key" + url_suffix: String +} + +type ChatData { + "API space id" + api_space_id: String + "Cookie name" + cookie_name: String + "Is chat enabled" + is_enabled: Boolean } "Defines all Checkout Agreement information" type CheckoutAgreement { - "Checkout Agreement identifier" - agreement_id: Int! - "Checkout Agreement checkbox text" - checkbox_text: String! - "Checkout Agreement content" - content: String! - "Checkout Agreement content height" - content_height: String - "Is Checkout Agreement content in HTML format" - is_html: Boolean! - mode: CheckoutAgreementMode! - "Checkout Agreement name" - name: String! + "Checkout Agreement identifier" + agreement_id: Int! + "Checkout Agreement checkbox text" + checkbox_text: String! + "Checkout Agreement content" + content: String! + "Checkout Agreement content height" + content_height: String + "Is Checkout Agreement content in HTML format" + is_html: Boolean! + mode: CheckoutAgreementMode! + "Checkout Agreement name" + name: String! } "An error encountered while adding an item the the cart." type CheckoutUserInputError { - "Checkout-specific error code" - code: CheckoutUserInputErrorCodes! - "Localized error message" - message: String! - "Path to the input field that caused an error. See the GraphQL specification about path errors for details: http://spec.graphql.org/draft/#sec-Errors" - path: [String]! + "Checkout-specific error code" + code: CheckoutUserInputErrorCodes! + "Localized error message" + message: String! + "Path to the input field that caused an error. See the GraphQL specification about path errors for details: http://spec.graphql.org/draft/#sec-Errors" + path: [String]! } "CMS block defines all CMS block information" type CmsBlock { - "CMS block content" - content: String - "CMS block identifier" - identifier: String - "CMS block title" - title: String + "CMS block content" + content: String + "CMS block identifier" + identifier: String + "CMS block title" + title: String } "CMS blocks information" type CmsBlocks { - "An array of CMS blocks" - items: [CmsBlock] + "An array of CMS blocks" + items: [CmsBlock] } "CMS page defines all CMS page information" -type CmsPage { - "CMS page content" - content: String - "CMS page content heading" - content_heading: String - "Identifier of the CMS page" - identifier: String - "CMS page meta description" - meta_description: String - "CMS page meta keywords" - meta_keywords: String - "CMS page meta title" - meta_title: String - "CMS page content heading" - page_layout: String - "CMS page title" - title: String - "URL key of CMS page" - url_key: String +type CmsPage implements RoutableInterface { + "CMS page content" + content: String + "CMS page content heading" + content_heading: String + "Identifier of the CMS page" + identifier: String + "CMS page meta description" + meta_description: String + "CMS page meta keywords" + meta_keywords: String + "CMS page meta title" + meta_title: String + "CMS page content heading" + page_layout: String + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "CMS page title" + title: String + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "URL key of CMS page" + url_key: String } type ColorSwatchData implements SwatchDataInterface { - "Value of swatch item (HEX color code, image link or textual value)" - value: String + "Value of swatch item (HEX color code, image link or textual value)" + value: String } type ComparableAttribute { - "An attribute code that is enabled for product comparisons" - code: String! - "The label of the attribute code" - label: String! + "An attribute code that is enabled for product comparisons" + code: String! + "The label of the attribute code" + label: String! } type ComparableItem { - "An array of product attributes that can be used to compare products" - attributes: [ProductAttribute]! - "Contains details about a product in a compare list" - product: ProductInterface! - "The unique ID of an item in a compare list" - uid: ID! + "An array of product attributes that can be used to compare products" + attributes: [ProductAttribute]! + "Contains details about a product in a compare list" + product: ProductInterface! + "The unique ID of an item in a compare list" + uid: ID! } type CompareList { - "An array of attributes that can be used for comparing products" - attributes: [ComparableAttribute] - "The number of items in the compare list" - item_count: Int! - "An array of products to compare" - items: [ComparableItem] - "The unique ID assigned to the compare list" - uid: ID! + "An array of attributes that can be used for comparing products" + attributes: [ComparableAttribute] + "The number of items in the compare list" + item_count: Int! + "An array of products to compare" + items: [ComparableItem] + "The unique ID assigned to the compare list" + uid: ID! } type ComplexTextValue { - "HTML format" - html: String! + "HTML format" + html: String! } "ConfigurableAttributeOption contains the value_index (and other related information) assigned to a configurable product option" type ConfigurableAttributeOption { - "The ID assigned to the attribute" - code: String - "A string that describes the configurable attribute option" - label: String - "The unique ID for a `ConfigurableAttributeOption` object" - uid: ID! - "A unique index number assigned to the configurable product option" - value_index: Int + "The ID assigned to the attribute" + code: String + "A string that describes the configurable attribute option" + label: String + "The unique ID for a `ConfigurableAttributeOption` object" + uid: ID! + "A unique index number assigned to the configurable product option" + value_index: Int } type ConfigurableCartItem implements CartItemInterface { - configurable_options: [SelectedConfigurableOption]! - customizable_options: [SelectedCustomizableOption] - "The entered gift message for the cart item" - gift_message: GiftMessage - id: String! @deprecated(reason : "Use `uid` instead") - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "The unique ID for a `CartItemInterface` object" - uid: ID! + configurable_options: [SelectedConfigurableOption]! + "Product details of the cart item" + configured_variant: ProductInterface! + customizable_options: [SelectedCustomizableOption] + "The entered gift message for the cart item" + gift_message: GiftMessage + id: String! @deprecated(reason : "Use `uid` instead") + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "The unique ID for a `CartItemInterface` object" + uid: ID! } "Configurable option available for further selection based on current selection." type ConfigurableOptionAvailableForSelection { - "Attribute code that uniquely identifies configurable option." - attribute_code: String! - "Configurable option values available for further selection." - option_value_uids: [ID]! + "Attribute code that uniquely identifies configurable option." + attribute_code: String! + "Configurable option values available for further selection." + option_value_uids: [ID]! } "ConfigurableProduct defines basic features of a configurable product and its simple product variants" -type ConfigurableProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "An array of linked simple product items" - configurable_options: [ConfigurableProductOptions] - "Metadata for the specified configurable options selection" - configurable_product_options_selection(configurableOptionValueUids: [ID!]): ConfigurableProductOptionsSelection - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "An array of options for a customizable product." - options: [CustomizableOptionInterface] - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of variants of products" - variants: [ConfigurableVariant] - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") - "The weight of the item, in units defined by the store." - weight: Float +type ConfigurableProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "An array of linked simple product items" + configurable_options: [ConfigurableProductOptions] + "Specified configurable product options selection" + configurable_product_options_selection(configurableOptionValueUids: [ID!]): ConfigurableProductOptionsSelection + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "An array of options for a customizable product." + options: [CustomizableOptionInterface] + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of variants of products" + variants: [ConfigurableVariant] + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + "The weight of the item, in units defined by the store." + weight: Float +} + +type ConfigurableProductOption { + attribute_code: String! + label: String! + uid: ID! + values: [ConfigurableProductOptionValue] +} + +type ConfigurableProductOptionValue { + is_available: Boolean! + is_use_default: Boolean! + label: String! + swatch: SwatchDataInterface + uid: ID! } "ConfigurableProductOptions defines configurable attributes for the specified product" type ConfigurableProductOptions { - "A string that identifies the attribute" - attribute_code: String - "The ID assigned to the attribute" - attribute_id: String @deprecated(reason : "Use attribute_uid instead") - "The ID assigned to the attribute" - attribute_id_v2: Int @deprecated(reason : "Use attribute_uid instead") - "The unique ID for a `Attribute` object" - attribute_uid: ID! - "The configurable option ID number assigned by the system" - id: Int @deprecated(reason : "Use uid instead") - "A string that describes the configurable product option, which is displayed on the UI" - label: String - "A number that indicates the order in which the attribute is displayed" - position: Int - "This is the same as a product's id field" - product_id: Int @deprecated(reason : "`product_id` is not needed and can be obtained from it's parent") - "The unique ID for a `ConfigurableProductOptions` object" - uid: ID! - "Indicates whether the option is the default" - use_default: Boolean - "An array that defines the value_index codes assigned to the configurable product" - values: [ConfigurableProductOptionsValues] + "A string that identifies the attribute" + attribute_code: String + "The ID assigned to the attribute" + attribute_id: String @deprecated(reason : "Use attribute_uid instead") + "The ID assigned to the attribute" + attribute_id_v2: Int @deprecated(reason : "Use attribute_uid instead") + "The unique ID for a `Attribute` object" + attribute_uid: ID! + "The configurable option ID number assigned by the system" + id: Int @deprecated(reason : "Use uid instead") + "A string that describes the configurable product option, which is displayed on the UI" + label: String + "A number that indicates the order in which the attribute is displayed" + position: Int + "This is the same as a product's id field" + product_id: Int @deprecated(reason : "`product_id` is not needed and can be obtained from it's parent") + "The unique ID for a `ConfigurableProductOptions` object" + uid: ID! + "Indicates whether the option is the default" + use_default: Boolean + "An array that defines the value_index codes assigned to the configurable product" + values: [ConfigurableProductOptionsValues] } "Metadata corresponding to the configurable options selection." type ConfigurableProductOptionsSelection { - "Product images and videos corresponding to the specified configurable options selection." - media_gallery: [MediaGalleryInterface] - "Configurable options available for further selection based on current selection." - options_available_for_selection: [ConfigurableOptionAvailableForSelection] - "Variant represented by the specified configurable options selection. It is expected to be null, until selections are made for each configurable option." - variant: SimpleProduct + "Configurable options available for further selection based on current selection." + configurable_options: [ConfigurableProductOption] + "Product images and videos corresponding to the specified configurable options selection." + media_gallery: [MediaGalleryInterface] + "Configurable options available for further selection based on current selection." + options_available_for_selection: [ConfigurableOptionAvailableForSelection] + "Variant represented by the specified configurable options selection. It is expected to be null, until selections are made for each configurable option." + variant: SimpleProduct } "ConfigurableProductOptionsValues contains the index number assigned to a configurable product option" type ConfigurableProductOptionsValues { - "The label of the product on the default store" - default_label: String - "The label of the product" - label: String - "The label of the product on the current store" - store_label: String - "Swatch data for configurable product option" - swatch_data: SwatchDataInterface - "The unique ID for a `ConfigurableProductOptionsValues` object" - uid: ID - "Indicates whether to use the default_label" - use_default_value: Boolean - "A unique index number assigned to the configurable product option" - value_index: Int @deprecated(reason : "Use `uid` instead") + "The label of the product on the default store" + default_label: String + "The label of the product" + label: String + "The label of the product on the current store" + store_label: String + "Swatch data for configurable product option" + swatch_data: SwatchDataInterface + "The unique ID for a `ConfigurableProductOptionsValues` object" + uid: ID + "Indicates whether to use the default_label" + use_default_value: Boolean + "A unique index number assigned to the configurable product option" + value_index: Int @deprecated(reason : "Use `uid` instead") } "An array containing all the simple product variants of a configurable product" type ConfigurableVariant { - attributes: [ConfigurableAttributeOption] - product: SimpleProduct + attributes: [ConfigurableAttributeOption] + product: SimpleProduct } "A configurable product wish list item" type ConfigurableWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "The SKU of the simple product corresponding to a set of selected configurable options" - child_sku: String! - "An array of selected configurable options" - configurable_options: [SelectedConfigurableOption] - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "The SKU of the simple product corresponding to a set of selected configurable options" + child_sku: String! + "An array of selected configurable options" + configurable_options: [SelectedConfigurableOption] + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } type Country { - available_regions: [Region] - full_name_english: String - full_name_locale: String - "The unique ID for a `Country` object." - id: String - three_letter_abbreviation: String - two_letter_abbreviation: String + available_regions: [Region] + full_name_english: String + full_name_locale: String + "The unique ID for a `Country` object." + id: String + three_letter_abbreviation: String + two_letter_abbreviation: String } "Contains the secure information used to authorize transaction. Applies to Payflow Pro and Payments Pro payment methods." type CreatePayflowProTokenOutput { - response_message: String! - result: Int! - result_code: Int! - secure_token: String! - secure_token_id: String! + response_message: String! + result: Int! + result_code: Int! + secure_token: String! + secure_token_id: String! } type CreateProductReviewOutput { - "Contains the completed product review" - review: ProductReview! + "Contains the completed product review" + review: ProductReview! } "Credit memo details" type CreditMemo { - "Comments on the credit memo" - comments: [SalesCommentItem] - "The unique ID for a `CreditMemo` object" - id: ID! - "An array containing details about refunded items" - items: [CreditMemoItemInterface] - "The sequential credit memo number" - number: String! - "Contains details about the total refunded amount" - total: CreditMemoTotal + "Comments on the credit memo" + comments: [SalesCommentItem] + "The unique ID for a `CreditMemo` object" + id: ID! + "An array containing details about refunded items" + items: [CreditMemoItemInterface] + "The sequential credit memo number" + number: String! + "Contains details about the total refunded amount" + total: CreditMemoTotal } type CreditMemoItem implements CreditMemoItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `CreditMemoItemInterface` object" - id: ID! - "The order item the credit memo is applied to" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product, including selected options" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "The number of refunded items" - quantity_refunded: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `CreditMemoItemInterface` object" + id: ID! + "The order item the credit memo is applied to" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product, including selected options" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "The number of refunded items" + quantity_refunded: Float } "Credit memo price details" type CreditMemoTotal { - "An adjustment manually applied to the order" - adjustment: Money! - "The final base grand total amount in the base currency" - base_grand_total: Money! - "The applied discounts to the credit memo" - discounts: [Discount] - "The final total amount, including shipping, discounts, and taxes" - grand_total: Money! - "Contains details about the shipping and handling costs for the credit memo" - shipping_handling: ShippingHandling - "The subtotal of the invoice, excluding shipping, discounts, and taxes" - subtotal: Money! - "The credit memo tax details" - taxes: [TaxItem] - "The shipping amount for the credit memo" - total_shipping: Money! - "The amount of tax applied to the credit memo" - total_tax: Money! + "An adjustment manually applied to the order" + adjustment: Money! + "The final base grand total amount in the base currency" + base_grand_total: Money! + "The applied discounts to the credit memo" + discounts: [Discount] + "The final total amount, including shipping, discounts, and taxes" + grand_total: Money! + "Contains details about the shipping and handling costs for the credit memo" + shipping_handling: ShippingHandling + "The subtotal of the invoice, excluding shipping, discounts, and taxes" + subtotal: Money! + "The credit memo tax details" + taxes: [TaxItem] + "The shipping amount for the credit memo" + total_shipping: Money! + "The amount of tax applied to the credit memo" + total_tax: Money! } type Currency { - available_currency_codes: [String] - base_currency_code: String - base_currency_symbol: String - default_display_currecy_code: String @deprecated(reason : "Symbol was missed. Use `default_display_currency_code`.") - default_display_currecy_symbol: String @deprecated(reason : "Symbol was missed. Use `default_display_currency_symbol`.") - default_display_currency_code: String - default_display_currency_symbol: String - exchange_rates: [ExchangeRate] + available_currency_codes: [String] + base_currency_code: String + base_currency_symbol: String + default_display_currecy_code: String @deprecated(reason : "Symbol was missed. Use `default_display_currency_code`.") + default_display_currecy_symbol: String @deprecated(reason : "Symbol was missed. Use `default_display_currency_symbol`.") + default_display_currency_code: String + default_display_currency_symbol: String + exchange_rates: [ExchangeRate] } "CustomAttributeMetadata defines an array of attribute_codes and entity_types" type CustomAttributeMetadata { - "An array of attributes" - items: [Attribute] + "An array of attributes" + items: [Attribute] } "Customer defines the customer name and address and other details" type Customer { - "An array containing the customer's shipping and billing addresses" - addresses: [CustomerAddress] - "Indicates whether the customer has enabled remote shopping assistance" - allow_remote_shopping_assistance: Boolean! - "The contents of the customer's compare list" - compare_list: CompareList - "Timestamp indicating when the account was created" - created_at: String - "The customer's date of birth" - date_of_birth: String - "The ID assigned to the billing address" - default_billing: String - "The ID assigned to the shipping address" - default_shipping: String - "The customer's date of birth" - dob: String @deprecated(reason : "Use `date_of_birth` instead") - "The customer's email address. Required" - email: String - "The customer's first name" - firstname: String - "The customer's gender (Male - 1, Female - 2)" - gender: Int - group_id: Int @deprecated(reason : "Customer group should not be exposed in the storefront scenarios") - "The ID assigned to the customer" - id: Int @deprecated(reason : "id is not needed as part of Customer because on server side it can be identified based on customer token used for authentication. There is no need to know customer ID on the client side.") - "Indicates whether the customer is subscribed to the company's newsletter" - is_subscribed: Boolean - "The customer's family name" - lastname: String - "The customer's middle name" - middlename: String - orders( - "Specifies which page of results to return. The default value is 1" - currentPage: Int = 1, - "Defines the filter to use for searching customer orders" - filter: CustomerOrdersFilterInput, - "Specifies the maximum number of results to return at once. The default value is 20" - pageSize: Int = 20 - ): CustomerOrders - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "Contains the customer's product reviews" - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A value such as Sr., Jr., or III" - suffix: String - "The customer's Value-added tax (VAT) number (for corporate customers)" - taxvat: String - "Contains a customer's wish lists" - wishlist: Wishlist! @deprecated(reason : "Use `Customer.wishlists` or `Customer.wishlist_v2`") - "Retrieve the specified wish list identified by the unique ID for a `Wishlist` object" - wishlist_v2(id: ID!): Wishlist - "An array of wishlists. In Magento Open Source, customers are limited to one wish list. The number of wish lists is configurable for Magento Commerce" - wishlists( - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once. This attribute is optional." - pageSize: Int = 20 - ): [Wishlist]! + "An array containing the customer's shipping and billing addresses" + addresses: [CustomerAddress] + "Indicates whether the customer has enabled remote shopping assistance" + allow_remote_shopping_assistance: Boolean! + "The contents of the customer's compare list" + compare_list: CompareList + "Timestamp indicating when the account was created" + created_at: String + "The customer's date of birth" + date_of_birth: String + "The ID assigned to the billing address" + default_billing: String + "The ID assigned to the shipping address" + default_shipping: String + "The customer's date of birth" + dob: String @deprecated(reason : "Use `date_of_birth` instead") + "The customer's email address. Required" + email: String + "The customer's first name" + firstname: String + "The customer's gender (Male - 1, Female - 2)" + gender: Int + group_id: Int @deprecated(reason : "Customer group should not be exposed in the storefront scenarios") + "The ID assigned to the customer" + id: Int @deprecated(reason : "id is not needed as part of Customer because on server side it can be identified based on customer token used for authentication. There is no need to know customer ID on the client side.") + "Indicates whether the customer is subscribed to the company's newsletter" + is_subscribed: Boolean + "The customer's family name" + lastname: String + "The customer's middle name" + middlename: String + orders( + "Specifies which page of results to return. The default value is 1" + currentPage: Int = 1, + "Defines the filter to use for searching customer orders" + filter: CustomerOrdersFilterInput, + "Specifies the maximum number of results to return at once. The default value is 20" + pageSize: Int = 20 + ): CustomerOrders + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "Contains the customer's product reviews" + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + "A value such as Sr., Jr., or III" + suffix: String + "The customer's Value-added tax (VAT) number (for corporate customers)" + taxvat: String + "Contains a customer's wish lists" + wishlist: Wishlist! @deprecated(reason : "Use `Customer.wishlists` or `Customer.wishlist_v2`") + "Retrieve the specified wish list identified by the unique ID for a `Wishlist` object" + wishlist_v2(id: ID!): Wishlist + "An array of wishlists. In Magento Open Source, customers are limited to one wish list. The number of wish lists is configurable for Magento Commerce" + wishlists( + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once. This attribute is optional." + pageSize: Int = 20 + ): [Wishlist]! } "CustomerAddress contains detailed information about a customer's billing and shipping addresses" type CustomerAddress { - "The city or town" - city: String - "The customer's company" - company: String - "The customer's country" - country_code: CountryCodeEnum - "The customer's country" - country_id: String @deprecated(reason : "Use `country_code` instead.") - custom_attributes: [CustomerAddressAttribute] @deprecated(reason : "Custom attributes should not be put into container") - "The customer ID" - customer_id: Int @deprecated(reason : "customer_id is not needed as part of CustomerAddress, address ID (id) is unique identifier for the addresses.") - "Indicates whether the address is the default billing address" - default_billing: Boolean - "Indicates whether the address is the default shipping address" - default_shipping: Boolean - "Address extension attributes" - extension_attributes: [CustomerAddressAttribute] - "The fax number" - fax: String - "The first name of the person associated with the shipping/billing address" - firstname: String - "The ID assigned to the address object" - id: Int - "The family name of the person associated with the shipping/billing address" - lastname: String - "The middle name of the person associated with the shipping/billing address" - middlename: String - "The customer's ZIP or postal code" - postcode: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "An object containing the region name, region code, and region ID" - region: CustomerAddressRegion - "The unique ID for a pre-defined region" - region_id: Int - "An array of strings that define the street number and name" - street: [String] - "A value such as Sr., Jr., or III" - suffix: String - "The telephone number" - telephone: String - "The customer's Value-added tax (VAT) number (for corporate customers)" - vat_id: String + "The city or town" + city: String + "The customer's company" + company: String + "The customer's country" + country_code: CountryCodeEnum + "The customer's country" + country_id: String @deprecated(reason : "Use `country_code` instead.") + custom_attributes: [CustomerAddressAttribute] @deprecated(reason : "Custom attributes should not be put into container") + "The customer ID" + customer_id: Int @deprecated(reason : "customer_id is not needed as part of CustomerAddress, address ID (id) is unique identifier for the addresses.") + "Indicates whether the address is the default billing address" + default_billing: Boolean + "Indicates whether the address is the default shipping address" + default_shipping: Boolean + "Address extension attributes" + extension_attributes: [CustomerAddressAttribute] + "The fax number" + fax: String + "The first name of the person associated with the shipping/billing address" + firstname: String + "The ID assigned to the address object" + id: Int + "The family name of the person associated with the shipping/billing address" + lastname: String + "The middle name of the person associated with the shipping/billing address" + middlename: String + "The customer's ZIP or postal code" + postcode: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "An object containing the region name, region code, and region ID" + region: CustomerAddressRegion + "The unique ID for a pre-defined region" + region_id: Int + "An array of strings that define the street number and name" + street: [String] + "A value such as Sr., Jr., or III" + suffix: String + "The telephone number" + telephone: String + "The customer's Value-added tax (VAT) number (for corporate customers)" + vat_id: String } type CustomerAddressAttribute { - "Attribute code" - attribute_code: String - "Attribute value" - value: String + "Attribute code" + attribute_code: String + "Attribute value" + value: String } "CustomerAddressRegion defines the customer's state or province" type CustomerAddressRegion { - "The state or province name" - region: String - "The address region code" - region_code: String - "The unique ID for a pre-defined region" - region_id: Int + "The state or province name" + region: String + "The address region code" + region_code: String + "The unique ID for a pre-defined region" + region_id: Int } type CustomerDownloadableProduct { - date: String - download_url: String - order_increment_id: String - remaining_downloads: String - status: String + date: String + download_url: String + order_increment_id: String + remaining_downloads: String + status: String } type CustomerDownloadableProducts { - "List of purchased downloadable items" - items: [CustomerDownloadableProduct] + "List of purchased downloadable items" + items: [CustomerDownloadableProduct] } "Contains details about each of the customer's orders" type CustomerOrder { - "The billing address for the order" - billing_address: OrderAddress - "The shipping carrier for the order delivery" - carrier: String - "Comments about the order" - comments: [SalesCommentItem] - created_at: String @deprecated(reason : "Use the order_date attribute instead") - "A list of credit memos" - credit_memos: [CreditMemo] - "The entered gift message for the order" - gift_message: GiftMessage - grand_total: Float @deprecated(reason : "Use the totals.grand_total attribute instead") - "The unique ID for a `CustomerOrder` object" - id: ID! - increment_id: String @deprecated(reason : "Use the id attribute instead") - "A list of invoices for the order" - invoices: [Invoice]! - "An array containing the items purchased in this order" - items: [OrderItemInterface] - "The order number" - number: String! - "The date the order was placed" - order_date: String! - order_number: String! @deprecated(reason : "Use the number attribute instead") - "Payment details for the order" - payment_methods: [OrderPaymentMethod] - "A list of shipments for the order" - shipments: [OrderShipment] - "The shipping address for the order" - shipping_address: OrderAddress - "The delivery method for the order" - shipping_method: String - "The current status of the order" - status: String! - "Contains details about the calculated totals for this order" - total: OrderTotal + "The billing address for the order" + billing_address: OrderAddress + "The shipping carrier for the order delivery" + carrier: String + "Comments about the order" + comments: [SalesCommentItem] + created_at: String @deprecated(reason : "Use the order_date attribute instead") + "A list of credit memos" + credit_memos: [CreditMemo] + "The entered gift message for the order" + gift_message: GiftMessage + grand_total: Float @deprecated(reason : "Use the totals.grand_total attribute instead") + "The unique ID for a `CustomerOrder` object" + id: ID! + increment_id: String @deprecated(reason : "Use the id attribute instead") + "A list of invoices for the order" + invoices: [Invoice]! + "An array containing the items purchased in this order" + items: [OrderItemInterface] + "The order number" + number: String! + "The date the order was placed" + order_date: String! + order_number: String! @deprecated(reason : "Use the number attribute instead") + "Payment details for the order" + payment_methods: [OrderPaymentMethod] + "A list of shipments for the order" + shipments: [OrderShipment] + "The shipping address for the order" + shipping_address: OrderAddress + "The delivery method for the order" + shipping_method: String + "The current status of the order" + status: String! + "Contains details about the calculated totals for this order" + total: OrderTotal } "The collection of orders that match the conditions defined in the filter" type CustomerOrders { - "An array of customer orders" - items: [CustomerOrder]! - "An object that includes the current_page, page_info, and page_size values specified in the query" - page_info: SearchResultPageInfo - "The total count of customer orders" - total_count: Int + "An array of customer orders" + items: [CustomerOrder]! + "An object that includes the current_page, page_info, and page_size values specified in the query" + page_info: SearchResultPageInfo + "The total count of customer orders" + total_count: Int } type CustomerOutput { - customer: Customer! + customer: Customer! } type CustomerPaymentTokens { - "An array of payment tokens" - items: [PaymentToken]! + "An array of payment tokens" + items: [PaymentToken]! } type CustomerToken { - "The customer token" - token: String + "The customer token" + token: String } "CustomizableAreaOption contains information about a text area that is defined as part of a customizable option." type CustomizableAreaOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "The Stock Keeping Unit of the base product." - product_sku: String - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An object that defines a text area." - value: CustomizableAreaValue + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "The Stock Keeping Unit of the base product." + product_sku: String + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An object that defines a text area." + value: CustomizableAreaValue } "CustomizableAreaValue defines the price and sku of a product whose page contains a customized text area." type CustomizableAreaValue { - "The maximum number of characters that can be entered for this customizable option." - max_characters: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The unique ID for a `CustomizableAreaValue` object." - uid: ID! + "The maximum number of characters that can be entered for this customizable option." + max_characters: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The unique ID for a `CustomizableAreaValue` object." + uid: ID! } "CustomizableCheckbbixOption contains information about a set of checkbox values that are defined as part of a customizable option." type CustomizableCheckboxOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An array that defines a set of checkbox values." - value: [CustomizableCheckboxValue] + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An array that defines a set of checkbox values." + value: [CustomizableCheckboxValue] } "CustomizableCheckboxValue defines the price and sku of a product whose page contains a customized set of checkbox values." type CustomizableCheckboxValue { - "The ID assigned to the value." - option_type_id: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The order in which the checkbox value is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableCheckboxValue` object." - uid: ID! + "The ID assigned to the value." + option_type_id: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The order in which the checkbox value is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableCheckboxValue` object." + uid: ID! } "CustomizableDateOption contains information about a date picker that is defined as part of a customizable option." type CustomizableDateOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "The Stock Keeping Unit of the base product." - product_sku: String - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An object that defines a date field in a customizable option." - value: CustomizableDateValue + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "The Stock Keeping Unit of the base product." + product_sku: String + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An object that defines a date field in a customizable option." + value: CustomizableDateValue } "CustomizableDateValue defines the price and sku of a product whose page contains a customized date picker." type CustomizableDateValue { - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The unique ID for a `CustomizableDateValue` object." - uid: ID! + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "DATE, DATE_TIME or TIME" + type: CustomizableDateTypeEnum + "The unique ID for a `CustomizableDateValue` object." + uid: ID! } "CustomizableDropDownOption contains information about a drop down menu that is defined as part of a customizable option." type CustomizableDropDownOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An array that defines the set of options for a drop down menu." - value: [CustomizableDropDownValue] + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An array that defines the set of options for a drop down menu." + value: [CustomizableDropDownValue] } "CustomizableDropDownValue defines the price and sku of a product whose page contains a customized drop down menu." type CustomizableDropDownValue { - "The ID assigned to the value." - option_type_id: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableDropDownValue` object." - uid: ID! + "The ID assigned to the value." + option_type_id: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableDropDownValue` object." + uid: ID! } "CustomizableFieldOption contains information about a text field that is defined as part of a customizable option." type CustomizableFieldOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "The Stock Keeping Unit of the base product." - product_sku: String - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An object that defines a text field." - value: CustomizableFieldValue + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "The Stock Keeping Unit of the base product." + product_sku: String + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An object that defines a text field." + value: CustomizableFieldValue } "CustomizableFieldValue defines the price and sku of a product whose page contains a customized text field." type CustomizableFieldValue { - "The maximum number of characters that can be entered for this customizable option." - max_characters: Int - "The price of the custom value." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The unique ID for a `CustomizableFieldValue` object." - uid: ID! + "The maximum number of characters that can be entered for this customizable option." + max_characters: Int + "The price of the custom value." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The unique ID for a `CustomizableFieldValue` object." + uid: ID! } "CustomizableFileOption contains information about a file picker that is defined as part of a customizable option." type CustomizableFileOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "The Stock Keeping Unit of the base product." - product_sku: String - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An object that defines a file value." - value: CustomizableFileValue + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "The Stock Keeping Unit of the base product." + product_sku: String + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An object that defines a file value." + value: CustomizableFileValue } "CustomizableFileValue defines the price and sku of a product whose page contains a customized file picker." type CustomizableFileValue { - "The file extension to accept." - file_extension: String - "The maximum width of an image." - image_size_x: Int - "The maximum height of an image." - image_size_y: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The unique ID for a `CustomizableFileValue` object." - uid: ID! + "The file extension to accept." + file_extension: String + "The maximum width of an image." + image_size_x: Int + "The maximum height of an image." + image_size_y: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The unique ID for a `CustomizableFileValue` object." + uid: ID! } "CustomizableMultipleOption contains information about a multiselect that is defined as part of a customizable option." type CustomizableMultipleOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An array that defines the set of options for a multiselect." - value: [CustomizableMultipleValue] + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An array that defines the set of options for a multiselect." + value: [CustomizableMultipleValue] } "CustomizableMultipleValue defines the price and sku of a product whose page contains a customized multiselect." type CustomizableMultipleValue { - "The ID assigned to the value." - option_type_id: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableMultipleValue` object." - uid: ID! + "The ID assigned to the value." + option_type_id: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableMultipleValue` object." + uid: ID! } "CustomizableRadioOption contains information about a set of radio buttons that are defined as part of a customizable option." type CustomizableRadioOption implements CustomizableOptionInterface { - "Option ID." - option_id: Int @deprecated(reason : "Use `uid` instead") - "Indicates whether the option is required." - required: Boolean - "The order in which the option is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableOptionInterface` object." - uid: ID! - "An array that defines a set of radio buttons." - value: [CustomizableRadioValue] + "Option ID." + option_id: Int @deprecated(reason : "Use `uid` instead") + "Indicates whether the option is required." + required: Boolean + "The order in which the option is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableOptionInterface` object." + uid: ID! + "An array that defines a set of radio buttons." + value: [CustomizableRadioValue] } "CustomizableRadioValue defines the price and sku of a product whose page contains a customized set of radio buttons." type CustomizableRadioValue { - "The ID assigned to the value." - option_type_id: Int - "The price assigned to this option." - price: Float - "FIXED, PERCENT, or DYNAMIC." - price_type: PriceTypeEnum - "The Stock Keeping Unit for this option." - sku: String - "The order in which the radio button is displayed." - sort_order: Int - "The display name for this option." - title: String - "The unique ID for a `CustomizableRadioValue` object." - uid: ID! + "The ID assigned to the value." + option_type_id: Int + "The price assigned to this option." + price: Float + "FIXED, PERCENT, or DYNAMIC." + price_type: PriceTypeEnum + "The Stock Keeping Unit for this option." + sku: String + "The order in which the radio button is displayed." + sort_order: Int + "The display name for this option." + title: String + "The unique ID for a `CustomizableRadioValue` object." + uid: ID! } type DeleteCompareListOutput { - "Indicates whether the compare list was successfully deleted" - result: Boolean! + "Indicates whether the compare list was successfully deleted" + result: Boolean! } type DeletePaymentTokenOutput { - customerPaymentTokens: CustomerPaymentTokens - result: Boolean! + customerPaymentTokens: CustomerPaymentTokens + result: Boolean! } "Defines an individual discount. A discount can be applied to the cart as a whole or to an item." type Discount { - "The amount of the discount" - amount: Money! - "A description of the discount" - label: String! + "The amount of the discount" + amount: Money! + "A description of the discount" + label: String! } "Downloadable Cart Item" type DownloadableCartItem implements CartItemInterface { - customizable_options: [SelectedCustomizableOption]! - id: String! @deprecated(reason : "Use `uid` instead") - "An array containing information about the links for the added to cart downloadable product" - links: [DownloadableProductLinks] - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "DownloadableProductSamples defines characteristics of a downloadable product" - samples: [DownloadableProductSamples] - "The unique ID for a `CartItemInterface` object" - uid: ID! + customizable_options: [SelectedCustomizableOption]! + id: String! @deprecated(reason : "Use `uid` instead") + "An array containing information about the links for the added to cart downloadable product" + links: [DownloadableProductLinks] + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "DownloadableProductSamples defines characteristics of a downloadable product" + samples: [DownloadableProductSamples] + "The unique ID for a `CartItemInterface` object" + uid: ID! } type DownloadableCreditMemoItem implements CreditMemoItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "A list of downloadable links that are refunded from the downloadable product" - downloadable_links: [DownloadableItemsLinks] - "The unique ID for a `CreditMemoItemInterface` object" - id: ID! - "The order item the credit memo is applied to" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product, including selected options" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "The number of refunded items" - quantity_refunded: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "A list of downloadable links that are refunded from the downloadable product" + downloadable_links: [DownloadableItemsLinks] + "The unique ID for a `CreditMemoItemInterface` object" + id: ID! + "The order item the credit memo is applied to" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product, including selected options" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "The number of refunded items" + quantity_refunded: Float } type DownloadableInvoiceItem implements InvoiceItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "A list of downloadable links that are invoiced from the downloadable product" - downloadable_links: [DownloadableItemsLinks] - "The unique ID for a `InvoiceItemInterface` object" - id: ID! - "Contains details about an individual order item" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The number of invoiced items" - quantity_invoiced: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "A list of downloadable links that are invoiced from the downloadable product" + downloadable_links: [DownloadableItemsLinks] + "The unique ID for a `InvoiceItemInterface` object" + id: ID! + "Contains details about an individual order item" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The number of invoiced items" + quantity_invoiced: Float } "DownloadableProductLinks defines characteristics of a downloadable product" type DownloadableItemsLinks { - "A number indicating the sort order" - sort_order: Int - "The display name of the link" - title: String - "The unique ID for a `DownloadableItemsLinks` object." - uid: ID! + "A number indicating the sort order" + sort_order: Int + "The display name of the link" + title: String + "The unique ID for a `DownloadableItemsLinks` object." + uid: ID! } type DownloadableOrderItem implements OrderItemInterface { - "The final discount information for the product" - discounts: [Discount] - "A list of downloadable links that are ordered from the downloadable product" - downloadable_links: [DownloadableItemsLinks] - "The entered option for the base product, such as a logo or image" - entered_options: [OrderItemOption] - "The unique ID for a `OrderItemInterface` object" - id: ID! - "The name of the base product" - product_name: String - "The sale price of the base product, including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The type of product, such as simple, configurable, etc." - product_type: String - "URL key of the base product" - product_url_key: String - "The number of canceled items" - quantity_canceled: Float - "The number of invoiced items" - quantity_invoiced: Float - "The number of units ordered for this item" - quantity_ordered: Float - "The number of refunded items" - quantity_refunded: Float - "The number of returned items" - quantity_returned: Float - "The number of shipped items" - quantity_shipped: Float - "The selected options for the base product, such as color or size" - selected_options: [OrderItemOption] - "The status of the order item" - status: String -} - -"DownloadableProduct defines a product that the customer downloads" -type DownloadableProduct implements CustomizableProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "An array containing information about the links for this downloadable product" - downloadable_product_links: [DownloadableProductLinks] - "An array containing information about samples of this downloadable product." - downloadable_product_samples: [DownloadableProductSamples] - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "A value of 1 indicates that each link in the array must be purchased separately" - links_purchased_separately: Int - "The heading above the list of downloadable products" - links_title: String - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "An array of options for a customizable product." - options: [CustomizableOptionInterface] - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + "The final discount information for the product" + discounts: [Discount] + "A list of downloadable links that are ordered from the downloadable product" + downloadable_links: [DownloadableItemsLinks] + "The entered option for the base product, such as a logo or image" + entered_options: [OrderItemOption] + "The unique ID for a `OrderItemInterface` object" + id: ID! + "The name of the base product" + product_name: String + "The sale price of the base product, including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The type of product, such as simple, configurable, etc." + product_type: String + "URL key of the base product" + product_url_key: String + "The number of canceled items" + quantity_canceled: Float + "The number of invoiced items" + quantity_invoiced: Float + "The number of units ordered for this item" + quantity_ordered: Float + "The number of refunded items" + quantity_refunded: Float + "The number of returned items" + quantity_returned: Float + "The number of shipped items" + quantity_shipped: Float + "The selected options for the base product, such as color or size" + selected_options: [OrderItemOption] + "The status of the order item" + status: String +} + +"DownloadableProduct defines a product that the shopper downloads" +type DownloadableProduct implements CustomizableProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + "An array containing information about the links for this downloadable product" + downloadable_product_links: [DownloadableProductLinks] + "An array containing information about samples of this downloadable product." + downloadable_product_samples: [DownloadableProductSamples] + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "A value of 1 indicates that each link in the array must be purchased separately" + links_purchased_separately: Int + "The heading above the list of downloadable products" + links_title: String + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "An array of options for a customizable product." + options: [CustomizableOptionInterface] + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") } "DownloadableProductLinks defines characteristics of a downloadable product" type DownloadableProductLinks { - id: Int @deprecated(reason : "This information should not be exposed on frontend") - is_shareable: Boolean @deprecated(reason : "This information should not be exposed on frontend") - link_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") - number_of_downloads: Int @deprecated(reason : "This information should not be exposed on frontend") - "The price of the downloadable product" - price: Float - sample_file: String @deprecated(reason : "`sample_url` serves to get the downloadable sample") - sample_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") - "URL to the downloadable sample" - sample_url: String - "A number indicating the sort order" - sort_order: Int - "The display name of the link" - title: String - "The unique ID for a `DownloadableProductLinks` object." - uid: ID! + id: Int @deprecated(reason : "This information should not be exposed on frontend") + is_shareable: Boolean @deprecated(reason : "This information should not be exposed on frontend") + link_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") + number_of_downloads: Int @deprecated(reason : "This information should not be exposed on frontend") + "The price of the downloadable product" + price: Float + sample_file: String @deprecated(reason : "`sample_url` serves to get the downloadable sample") + sample_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") + "URL to the downloadable sample" + sample_url: String + "A number indicating the sort order" + sort_order: Int + "The display name of the link" + title: String + "The unique ID for a `DownloadableProductLinks` object." + uid: ID! } "DownloadableProductSamples defines characteristics of a downloadable product" type DownloadableProductSamples { - id: Int @deprecated(reason : "This information should not be exposed on frontend") - sample_file: String @deprecated(reason : "`sample_url` serves to get the downloadable sample") - sample_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") - "URL to the downloadable sample" - sample_url: String - "A number indicating the sort order" - sort_order: Int - "The display name of the sample" - title: String + id: Int @deprecated(reason : "This information should not be exposed on frontend") + sample_file: String @deprecated(reason : "`sample_url` serves to get the downloadable sample") + sample_type: DownloadableFileTypeEnum @deprecated(reason : "`sample_url` serves to get the downloadable sample") + "URL to the downloadable sample" + sample_url: String + "A number indicating the sort order" + sort_order: Int + "The display name of the sample" + title: String } "A downloadable product wish list item" type DownloadableWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "An array containing information about the selected links" - links_v2: [DownloadableProductLinks] - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! - "An array containing information about the selected samples" - samples: [DownloadableProductSamples] + "The date and time the item was added to the wish list" + added_at: String! + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "An array containing information about the selected links" + links_v2: [DownloadableProductLinks] + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! + "An array containing information about the selected samples" + samples: [DownloadableProductSamples] } "EntityUrl is an output object containing the `id`, `relative_url`, and `type` attributes" type EntityUrl { - canonical_url: String @deprecated(reason : "The canonical_url field is deprecated, use relative_url instead.") - "The unique ID for a `ProductInterface`, `CategoryInterface`, `CmsPage`, etc. object associated with the specified url. This could be a product UID, category UID, or cms page UID." - entity_uid: ID - "The ID assigned to the object associated with the specified url. This could be a product ID, category ID, or page ID." - id: Int @deprecated(reason : "Use `entity_uid` instead.") - "301 or 302 HTTP code for url permanent or temporary redirect or 0 for the 200 no redirect" - redirectCode: Int - "The internal relative URL. If the specified url is a redirect, the query returns the redirected URL, not the original." - relative_url: String - "One of PRODUCT, CATEGORY, or CMS_PAGE." - type: UrlRewriteEntityTypeEnum + canonical_url: String @deprecated(reason : "The canonical_url field is deprecated, use relative_url instead.") + "The unique ID for a `ProductInterface`, `CategoryInterface`, `CmsPage`, etc. object associated with the specified url. This could be a product UID, category UID, or cms page UID." + entity_uid: ID + "The ID assigned to the object associated with the specified url. This could be a product ID, category ID, or page ID." + id: Int @deprecated(reason : "Use `entity_uid` instead.") + "301 or 302 HTTP code for url permanent or temporary redirect or 0 for the 200 no redirect" + redirectCode: Int + "The internal relative URL. If the specified url is a redirect, the query returns the redirected URL, not the original." + relative_url: String + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum } type ExchangeRate { - currency_to: String - rate: Float + currency_to: String + rate: Float } "A single FPT that can be applied to a product price." type FixedProductTax { - "Amount of the FPT as a money object." - amount: Money - "The label assigned to the FPT to be displayed on the frontend." - label: String + "Amount of the FPT as a money object." + amount: Money + "The label assigned to the FPT to be displayed on the frontend." + label: String } type GenerateCustomerTokenAsAdminOutput { - "The generated customer token" - customer_token: String! + "The generated customer token" + customer_token: String! } "Contains the text of a gift message, its sender, and recipient" type GiftMessage { - "Sender name" - from: String! - "Gift message text" - message: String! - "Recipient name" - to: String! -} - -"GroupedProduct defines a grouped product" -type GroupedProduct implements PhysicalProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "An array containing grouped product items" - items: [GroupedProductItem] - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") - "The weight of the item, in units defined by the store." - weight: Float + "Sender name" + from: String! + "Gift message text" + message: String! + "Recipient name" + to: String! +} + +"A grouped product consists of simple standalone products that are presented as a group" +type GroupedProduct implements PhysicalProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "An array containing grouped product items" + items: [GroupedProductItem] + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + "The weight of the item, in units defined by the store." + weight: Float } "GroupedProductItem contains information about an individual grouped product item" type GroupedProductItem { - "The relative position of this item compared to the other group items" - position: Int - "The ProductInterface object, which contains details about this product option" - product: ProductInterface - "The quantity of this grouped product item" - qty: Float + "The relative position of this item compared to the other group items" + position: Int + "The ProductInterface object, which contains details about this product option" + product: ProductInterface + "The quantity of this grouped product item" + qty: Float } "A grouped product wish list item" type GroupedProductWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } "Contains secure URL used for Payments Pro Hosted Solution payment method." type HostedProUrl { - "Secure Url generated by PayPal" - secure_form_url: String + "Secure Url generated by PayPal" + secure_form_url: String } "The object details of target path parameters" type HttpQueryParameter { - "Parameter name" - name: String - "Parameter value" - value: String + "Parameter name" + name: String + "Parameter value" + value: String } type ImageSwatchData implements SwatchDataInterface { - "Thumbnail swatch image URL" - thumbnail: String - "Value of swatch item (HEX color code, image link or textual value)" - value: String + "Thumbnail swatch image URL" + thumbnail: String + "Value of swatch item (HEX color code, image link or textual value)" + value: String } "Invoice details" type Invoice { - "Comments on the invoice" - comments: [SalesCommentItem] - "The unique ID for a `Invoice` object" - id: ID! - "Invoiced product details" - items: [InvoiceItemInterface] - "Sequential invoice number" - number: String! - "Invoice total amount details" - total: InvoiceTotal + "Comments on the invoice" + comments: [SalesCommentItem] + "The unique ID for a `Invoice` object" + id: ID! + "Invoiced product details" + items: [InvoiceItemInterface] + "Sequential invoice number" + number: String! + "Invoice total amount details" + total: InvoiceTotal } type InvoiceItem implements InvoiceItemInterface { - "Contains information about the final discount amount for the base product, including discounts on options" - discounts: [Discount] - "The unique ID for a `InvoiceItemInterface` object" - id: ID! - "Contains details about an individual order item" - order_item: OrderItemInterface - "The name of the base product" - product_name: String - "The sale price for the base product including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The number of invoiced items" - quantity_invoiced: Float + "Contains information about the final discount amount for the base product, including discounts on options" + discounts: [Discount] + "The unique ID for a `InvoiceItemInterface` object" + id: ID! + "Contains details about an individual order item" + order_item: OrderItemInterface + "The name of the base product" + product_name: String + "The sale price for the base product including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The number of invoiced items" + quantity_invoiced: Float } "Contains price details from an invoice" type InvoiceTotal { - "The final base grand total amount in the base currency" - base_grand_total: Money! - "The applied discounts to the invoice" - discounts: [Discount] - "The final total amount, including shipping, discounts, and taxes" - grand_total: Money! - "Contains details about the shipping and handling costs for the invoice" - shipping_handling: ShippingHandling - "The subtotal of the invoice, excluding shipping, discounts, and taxes" - subtotal: Money! - "The invoice tax details" - taxes: [TaxItem] - "The shipping amount for the invoice" - total_shipping: Money! - "The amount of tax applied to the invoice" - total_tax: Money! + "The final base grand total amount in the base currency" + base_grand_total: Money! + "The applied discounts to the invoice" + discounts: [Discount] + "The final total amount, including shipping, discounts, and taxes" + grand_total: Money! + "Contains details about the shipping and handling costs for the invoice" + shipping_handling: ShippingHandling + "The subtotal of the invoice, excluding shipping, discounts, and taxes" + subtotal: Money! + "The invoice tax details" + taxes: [TaxItem] + "The shipping amount for the invoice" + total_shipping: Money! + "The amount of tax applied to the invoice" + total_tax: Money! +} + +type IsConfigSettingEnabledOutput { + "Is config setting enabled" + is_enabled: Boolean } type IsEmailAvailableOutput { - "Is email availabel value" - is_email_available: Boolean + "Is email availabel value" + is_email_available: Boolean } "A list of options of the selected bundle product" type ItemSelectedBundleOption { - "The unique ID for a `ItemSelectedBundleOption` object" - id: ID! @deprecated(reason : "Use `uid` instead") - "The label of the option" - label: String! - "The unique ID for a `ItemSelectedBundleOption` object" - uid: ID! - "A list of products that represent the values of the parent option" - values: [ItemSelectedBundleOptionValue] + "The unique ID for a `ItemSelectedBundleOption` object" + id: ID! @deprecated(reason : "Use `uid` instead") + "The label of the option" + label: String! + "The unique ID for a `ItemSelectedBundleOption` object" + uid: ID! + "A list of products that represent the values of the parent option" + values: [ItemSelectedBundleOptionValue] } "A list of values for the selected bundle product" type ItemSelectedBundleOptionValue { - "The unique ID for a `ItemSelectedBundleOptionValue` object" - id: ID! @deprecated(reason : "Use `uid` instead") - "The price of the child bundle product" - price: Money! - "The name of the child bundle product" - product_name: String! - "The SKU of the child bundle product" - product_sku: String! - "Indicates how many of this bundle product were ordered" - quantity: Float! - "The unique ID for a `ItemSelectedBundleOptionValue` object" - uid: ID! + "The unique ID for a `ItemSelectedBundleOptionValue` object" + id: ID! @deprecated(reason : "Use `uid` instead") + "The price of the child bundle product" + price: Money! + "The name of the child bundle product" + product_name: String! + "The SKU of the child bundle product" + product_sku: String! + "Indicates how many of this bundle product were ordered" + quantity: Float! + "The unique ID for a `ItemSelectedBundleOptionValue` object" + uid: ID! } "The key-value type" type KeyValue { - "The name part of the name/value pair" - name: String - "The value part of the name/value pair" - value: String + "The name part of the name/value pair" + name: String + "The value part of the name/value pair" + value: String } type LayerFilter { - "Array of filter items." - filter_items: [LayerFilterItemInterface] @deprecated(reason : "Use Aggregation.options instead.") - "Count of filter items in filter group." - filter_items_count: Int @deprecated(reason : "Use Aggregation.count instead.") - "Layered navigation filter name." - name: String @deprecated(reason : "Use Aggregation.label instead.") - "Request variable name for filter query." - request_var: String @deprecated(reason : "Use Aggregation.attribute_code instead.") + "Array of filter items." + filter_items: [LayerFilterItemInterface] @deprecated(reason : "Use Aggregation.options instead.") + "Count of filter items in filter group." + filter_items_count: Int @deprecated(reason : "Use Aggregation.count instead.") + "Layered navigation filter name." + name: String @deprecated(reason : "Use Aggregation.label instead.") + "Request variable name for filter query." + request_var: String @deprecated(reason : "Use Aggregation.attribute_code instead.") } type LayerFilterItem implements LayerFilterItemInterface { - "Count of items by filter." - items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") - "Filter label." - label: String @deprecated(reason : "Use AggregationOption.label instead.") - "Value for filter request variable to be used in query." - value_string: String @deprecated(reason : "Use AggregationOption.value instead.") + "Count of items by filter." + items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") + "Filter label." + label: String @deprecated(reason : "Use AggregationOption.label instead.") + "Value for filter request variable to be used in query." + value_string: String @deprecated(reason : "Use AggregationOption.value instead.") } "MediaGalleryEntry defines characteristics about images and videos associated with a specific product." type MediaGalleryEntry { - "Contains a ProductMediaGalleryEntriesContent object." - content: ProductMediaGalleryEntriesContent - "Whether the image is hidden from view." - disabled: Boolean - "The path of the image on the server." - file: String - "The identifier assigned to the object." - id: Int @deprecated(reason : "Use `uid` instead.") - "The alt text displayed on the UI when the user points to the image." - label: String - "image or video." - media_type: String - "The media item's position after it has been sorted." - position: Int - "Array of image types. It can have the following values: image, small_image, thumbnail." - types: [String] - "The unique ID for a `MediaGalleryEntry` object." - uid: ID! - "Contains a ProductMediaGalleryEntriesVideoContent object." - video_content: ProductMediaGalleryEntriesVideoContent + "Contains a ProductMediaGalleryEntriesContent object." + content: ProductMediaGalleryEntriesContent + "Whether the image is hidden from view." + disabled: Boolean + "The path of the image on the server." + file: String + "The identifier assigned to the object." + id: Int @deprecated(reason : "Use `uid` instead.") + "The alt text displayed on the UI when the user points to the image." + label: String + "image or video." + media_type: String + "The media item's position after it has been sorted." + position: Int + "Array of image types. It can have the following values: image, small_image, thumbnail." + types: [String] + "The unique ID for a `MediaGalleryEntry` object." + uid: ID! + "Contains a ProductMediaGalleryEntriesVideoContent object." + video_content: ProductMediaGalleryEntriesVideoContent } "A Money object defines a monetary value, including a numeric value and a currency code." type Money { - "A three-letter currency code, such as USD or EUR" - currency: CurrencyEnum - "A number expressing a monetary value" - value: Float + "A three-letter currency code, such as USD or EUR" + currency: CurrencyEnum + "A number expressing a monetary value" + value: Float } type Mutation { - addBundleProductsToCart(input: AddBundleProductsToCartInput): AddBundleProductsToCartOutput - addConfigurableProductsToCart(input: AddConfigurableProductsToCartInput): AddConfigurableProductsToCartOutput - addDownloadableProductsToCart(input: AddDownloadableProductsToCartInput): AddDownloadableProductsToCartOutput - "Add any type of product to the cart" - addProductsToCart(cartId: String!, cartItems: [CartItemInput!]!): AddProductsToCartOutput - "Add products to the specified compare list" - addProductsToCompareList(input: AddProductsToCompareListInput): CompareList - "Adds one or more products to the specified wish list. This mutation supports all product types" - addProductsToWishlist(wishlistId: ID!, wishlistItems: [WishlistItemInput!]!): AddProductsToWishlistOutput - addSimpleProductsToCart(input: AddSimpleProductsToCartInput): AddSimpleProductsToCartOutput - addVirtualProductsToCart(input: AddVirtualProductsToCartInput): AddVirtualProductsToCartOutput - applyCouponToCart(input: ApplyCouponToCartInput): ApplyCouponToCartOutput - "Assign the specified compare list to the logged in customer" - assignCompareListToCustomer(uid: ID!): AssignCompareListToCustomerOutput - "Changes the password for the logged-in customer" - changeCustomerPassword(currentPassword: String!, newPassword: String!): Customer - "Creates Client Token for Braintree Javascript SDK initialization." - createBraintreeClientToken: String! - "Creates a new compare list. The compare list is saved for logged in customers" - createCompareList(input: CreateCompareListInput): CompareList - "Create customer account" - createCustomer(input: CustomerInput!): CustomerOutput - "Create customer address" - createCustomerAddress(input: CustomerAddressInput!): CustomerAddress - "Create customer account" - createCustomerV2(input: CustomerCreateInput!): CustomerOutput - "Creates an empty shopping cart for a guest or logged in user" - createEmptyCart(input: createEmptyCartInput): String - "Creates a Klarna Payments Session." - createKlarnaPaymentsSession(input: createKlarnaPaymentsSessionInput): createKlarnaPaymentsSessionOutput - "Initiates a transaction and receives a token. Use this mutation for Payflow Pro and Payments Pro payment methods" - createPayflowProToken(input: PayflowProTokenInput!): CreatePayflowProTokenOutput - "Initiates an Express Checkout transaction and receives a token. Use this mutation for Express Checkout and Payments Standard payment methods." - createPaypalExpressToken(input: PaypalExpressTokenInput!): PaypalExpressTokenOutput - "Creates a product review for the specified SKU" - createProductReview(input: CreateProductReviewInput!): CreateProductReviewOutput! - "Delete the specified compare list" - deleteCompareList(uid: ID!): DeleteCompareListOutput - "Delete customer address" - deleteCustomerAddress(id: Int!): Boolean - "Delete a customer payment token" - deletePaymentToken(public_hash: String!): DeletePaymentTokenOutput - "Retrieve the customer token" - generateCustomerToken(email: String!, password: String!): CustomerToken - "Request a customer token so that an administrator can perform remote shopping assistance" - generateCustomerTokenAsAdmin(input: GenerateCustomerTokenAsAdminInput!): GenerateCustomerTokenAsAdminOutput - "Handles payment response and saves payment in Quote. Use this mutations for Payflow Pro and Payments Pro payment methods." - handlePayflowProResponse(input: PayflowProResponseInput!): PayflowProResponseOutput - "Merges the source cart into the destination cart" - mergeCarts(destination_cart_id: String, source_cart_id: String!): Cart! - placeOrder(input: PlaceOrderInput): PlaceOrderOutput - removeCouponFromCart(input: RemoveCouponFromCartInput): RemoveCouponFromCartOutput - removeItemFromCart(input: RemoveItemFromCartInput): RemoveItemFromCartOutput - "Remove products from the specified compare list" - removeProductsFromCompareList(input: RemoveProductsFromCompareListInput): CompareList - "Removes one or more products from the specified wish list" - removeProductsFromWishlist(wishlistId: ID!, wishlistItemsIds: [ID!]!): RemoveProductsFromWishlistOutput - "Adds all products from a customer's previous order to the cart." - reorderItems(orderNumber: String!): ReorderItemsOutput - "Request an email with a reset password token for the registered customer identified by the specified email." - requestPasswordResetEmail(email: String!): Boolean - "Reset a customer's password using the reset password token that the customer received in an email after requesting it using requestPasswordResetEmail." - resetPassword(email: String!, newPassword: String!, resetPasswordToken: String!): Boolean - "Revoke the customer token" - revokeCustomerToken: RevokeCustomerTokenOutput - "Recommends Product by Sending Single/Multiple Email" - sendEmailToFriend(input: SendEmailToFriendInput): SendEmailToFriendOutput - setBillingAddressOnCart(input: SetBillingAddressOnCartInput): SetBillingAddressOnCartOutput - setGuestEmailOnCart(input: SetGuestEmailOnCartInput): SetGuestEmailOnCartOutput - setPaymentMethodAndPlaceOrder(input: SetPaymentMethodAndPlaceOrderInput): PlaceOrderOutput @deprecated(reason : "Should use setPaymentMethodOnCart and placeOrder mutations in single request.") - setPaymentMethodOnCart(input: SetPaymentMethodOnCartInput): SetPaymentMethodOnCartOutput - setShippingAddressesOnCart(input: SetShippingAddressesOnCartInput): SetShippingAddressesOnCartOutput - setShippingMethodsOnCart(input: SetShippingMethodsOnCartInput): SetShippingMethodsOnCartOutput - "Subscribes the specified email to a newsletter" - subscribeEmailToNewsletter(email: String!): SubscribeEmailToNewsletterOutput - updateCartItems(input: UpdateCartItemsInput): UpdateCartItemsOutput - "Deprecated. Use UpdateCustomerV2 instead." - updateCustomer(input: CustomerInput!): CustomerOutput - "Update customer address" - updateCustomerAddress(id: Int!, input: CustomerAddressInput): CustomerAddress - updateCustomerEmail(email: String!, password: String!): CustomerOutput - "Update the customer's personal information" - updateCustomerV2(input: CustomerUpdateInput!): CustomerOutput - "Updates one or more products in the specified wish list" - updateProductsInWishlist(wishlistId: ID!, wishlistItems: [WishlistItemUpdateInput!]!): UpdateProductsInWishlistOutput -} - + addBundleProductsToCart(input: AddBundleProductsToCartInput): AddBundleProductsToCartOutput + addConfigurableProductsToCart(input: AddConfigurableProductsToCartInput): AddConfigurableProductsToCartOutput + addDownloadableProductsToCart(input: AddDownloadableProductsToCartInput): AddDownloadableProductsToCartOutput + "Add any type of product to the cart" + addProductsToCart(cartId: String!, cartItems: [CartItemInput!]!): AddProductsToCartOutput + "Add products to the specified compare list" + addProductsToCompareList(input: AddProductsToCompareListInput): CompareList + "Adds one or more products to the specified wish list. This mutation supports all product types" + addProductsToWishlist(wishlistId: ID!, wishlistItems: [WishlistItemInput!]!): AddProductsToWishlistOutput + addSimpleProductsToCart(input: AddSimpleProductsToCartInput): AddSimpleProductsToCartOutput + addVirtualProductsToCart(input: AddVirtualProductsToCartInput): AddVirtualProductsToCartOutput + "Add items in the specified wishlist to the customer's cart" + addWishlistItemsToCart( + "The unique ID of the wish list" + wishlistId: ID!, + "An array of IDs representing products to be added to the cart. If no IDs are specified, all items in the wishlist will be added to the cart" + wishlistItemIds: [ID!] + ): AddWishlistItemsToCartOutput + applyCouponToCart(input: ApplyCouponToCartInput): ApplyCouponToCartOutput + "Assign the specified compare list to the logged in customer" + assignCompareListToCustomer(uid: ID!): AssignCompareListToCustomerOutput + "Changes the password for the logged-in customer" + changeCustomerPassword(currentPassword: String!, newPassword: String!): Customer + "Creates Client Token for Braintree Javascript SDK initialization." + createBraintreeClientToken: String! + "Creates a new compare list. The compare list is saved for logged in customers" + createCompareList(input: CreateCompareListInput): CompareList + "Create customer account" + createCustomer(input: CustomerInput!): CustomerOutput + "Create customer address" + createCustomerAddress(input: CustomerAddressInput!): CustomerAddress + "Create customer account" + createCustomerV2(input: CustomerCreateInput!): CustomerOutput + "Creates an empty shopping cart for a guest or logged in user" + createEmptyCart(input: createEmptyCartInput): String + "Creates a Klarna Payments Session." + createKlarnaPaymentsSession(input: createKlarnaPaymentsSessionInput): createKlarnaPaymentsSessionOutput + "Initiates a transaction and receives a token. Use this mutation for Payflow Pro and Payments Pro payment methods" + createPayflowProToken(input: PayflowProTokenInput!): CreatePayflowProTokenOutput + "Initiates an Express Checkout transaction and receives a token. Use this mutation for Express Checkout and Payments Standard payment methods." + createPaypalExpressToken(input: PaypalExpressTokenInput!): PaypalExpressTokenOutput + "Creates a product review for the specified SKU" + createProductReview(input: CreateProductReviewInput!): CreateProductReviewOutput! + "Delete the specified compare list" + deleteCompareList(uid: ID!): DeleteCompareListOutput + "Delete customer address" + deleteCustomerAddress(id: Int!): Boolean + "Delete a customer payment token" + deletePaymentToken(public_hash: String!): DeletePaymentTokenOutput + "Retrieve the customer token" + generateCustomerToken(email: String!, password: String!): CustomerToken + "Request a customer token so that an administrator can perform remote shopping assistance" + generateCustomerTokenAsAdmin(input: GenerateCustomerTokenAsAdminInput!): GenerateCustomerTokenAsAdminOutput + "Handles payment response and saves payment in Quote. Use this mutations for Payflow Pro and Payments Pro payment methods." + handlePayflowProResponse(input: PayflowProResponseInput!): PayflowProResponseOutput + "Merges the source cart into the destination cart" + mergeCarts(destination_cart_id: String, source_cart_id: String!): Cart! + placeOrder(input: PlaceOrderInput): PlaceOrderOutput + removeCouponFromCart(input: RemoveCouponFromCartInput): RemoveCouponFromCartOutput + removeItemFromCart(input: RemoveItemFromCartInput): RemoveItemFromCartOutput + "Remove products from the specified compare list" + removeProductsFromCompareList(input: RemoveProductsFromCompareListInput): CompareList + "Removes one or more products from the specified wish list" + removeProductsFromWishlist(wishlistId: ID!, wishlistItemsIds: [ID!]!): RemoveProductsFromWishlistOutput + "Adds all products from a customer's previous order to the cart." + reorderItems(orderNumber: String!): ReorderItemsOutput + "Request an email with a reset password token for the registered customer identified by the specified email." + requestPasswordResetEmail(email: String!): Boolean + "Reset a customer's password using the reset password token that the customer received in an email after requesting it using requestPasswordResetEmail." + resetPassword(email: String!, newPassword: String!, resetPasswordToken: String!): Boolean + "Revoke the customer token" + revokeCustomerToken: RevokeCustomerTokenOutput + "Recommends Product by Sending Single/Multiple Email" + sendEmailToFriend(input: SendEmailToFriendInput): SendEmailToFriendOutput + setBillingAddressOnCart(input: SetBillingAddressOnCartInput): SetBillingAddressOnCartOutput + setGuestEmailOnCart(input: SetGuestEmailOnCartInput): SetGuestEmailOnCartOutput + setPaymentMethodAndPlaceOrder(input: SetPaymentMethodAndPlaceOrderInput): PlaceOrderOutput @deprecated(reason : "Should use setPaymentMethodOnCart and placeOrder mutations in single request.") + setPaymentMethodOnCart(input: SetPaymentMethodOnCartInput): SetPaymentMethodOnCartOutput + setShippingAddressesOnCart(input: SetShippingAddressesOnCartInput): SetShippingAddressesOnCartOutput + setShippingMethodsOnCart(input: SetShippingMethodsOnCartInput): SetShippingMethodsOnCartOutput + "Subscribes the specified email to a newsletter" + subscribeEmailToNewsletter(email: String!): SubscribeEmailToNewsletterOutput + updateCartItems(input: UpdateCartItemsInput): UpdateCartItemsOutput + "Sends chat profile data to Engagement Cloud." + updateChatProfile(email: String, firstname: String, lastname: String, profileId: String!): Boolean + "Deprecated. Use UpdateCustomerV2 instead." + updateCustomer(input: CustomerInput!): CustomerOutput + "Update customer address" + updateCustomerAddress(id: Int!, input: CustomerAddressInput): CustomerAddress + updateCustomerEmail(email: String!, password: String!): CustomerOutput + "Update the customer's personal information" + updateCustomerV2(input: CustomerUpdateInput!): CustomerOutput + "Updates one or more products in the specified wish list" + updateProductsInWishlist(wishlistId: ID!, wishlistItems: [WishlistItemUpdateInput!]!): UpdateProductsInWishlistOutput + "Updates the email address of a quote." + updateQuoteEmail(cartId: String!, email: String!): Boolean +} + +"Contains details about the requested order" type Order { - order_id: String @deprecated(reason : "The order_id field is deprecated, use order_number instead.") - "The unique ID for a `Order` object." - order_number: String! + "An array containing the items purchased in this order" + items: [String] + order_id: String @deprecated(reason : "The order_id field is deprecated, use order_number instead.") + "The unique ID for a `Order` object." + order_number: String! + "Contains the calculated total for this order" + total: String } "OrderAddress contains detailed information about an order's billing and shipping addresses" type OrderAddress { - "The city or town" - city: String! - "The customer's company" - company: String - "The customer's country" - country_code: CountryCodeEnum - "The fax number" - fax: String - "The first name of the person associated with the shipping/billing address" - firstname: String! - "The family name of the person associated with the shipping/billing address" - lastname: String! - "The middle name of the person associated with the shipping/billing address" - middlename: String - "The customer's order ZIP or postal code" - postcode: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "The state or province name" - region: String - "The unique ID for a `Region` object of a pre-defined region" - region_id: ID - "An array of strings that define the street number and name" - street: [String]! - "A value such as Sr., Jr., or III" - suffix: String - "The telephone number" - telephone: String! - "The customer's Value-added tax (VAT) number (for corporate customers)" - vat_id: String + "The city or town" + city: String! + "The customer's company" + company: String + "The customer's country" + country_code: CountryCodeEnum + "The fax number" + fax: String + "The first name of the person associated with the shipping/billing address" + firstname: String! + "The family name of the person associated with the shipping/billing address" + lastname: String! + "The middle name of the person associated with the shipping/billing address" + middlename: String + "The customer's order ZIP or postal code" + postcode: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "The state or province name" + region: String + "The unique ID for a `Region` object of a pre-defined region" + region_id: ID + "An array of strings that define the street number and name" + street: [String]! + "A value such as Sr., Jr., or III" + suffix: String + "The telephone number" + telephone: String! + "The customer's Value-added tax (VAT) number (for corporate customers)" + vat_id: String } type OrderItem implements OrderItemInterface { - "The final discount information for the product" - discounts: [Discount] - "The entered option for the base product, such as a logo or image" - entered_options: [OrderItemOption] - "The unique ID for a `OrderItemInterface` object" - id: ID! - "The name of the base product" - product_name: String - "The sale price of the base product, including selected options" - product_sale_price: Money! - "The SKU of the base product" - product_sku: String! - "The type of product, such as simple, configurable, etc." - product_type: String - "URL key of the base product" - product_url_key: String - "The number of canceled items" - quantity_canceled: Float - "The number of invoiced items" - quantity_invoiced: Float - "The number of units ordered for this item" - quantity_ordered: Float - "The number of refunded items" - quantity_refunded: Float - "The number of returned items" - quantity_returned: Float - "The number of shipped items" - quantity_shipped: Float - "The selected options for the base product, such as color or size" - selected_options: [OrderItemOption] - "The status of the order item" - status: String + "The final discount information for the product" + discounts: [Discount] + "The entered option for the base product, such as a logo or image" + entered_options: [OrderItemOption] + "The unique ID for a `OrderItemInterface` object" + id: ID! + "The name of the base product" + product_name: String + "The sale price of the base product, including selected options" + product_sale_price: Money! + "The SKU of the base product" + product_sku: String! + "The type of product, such as simple, configurable, etc." + product_type: String + "URL key of the base product" + product_url_key: String + "The number of canceled items" + quantity_canceled: Float + "The number of invoiced items" + quantity_invoiced: Float + "The number of units ordered for this item" + quantity_ordered: Float + "The number of refunded items" + quantity_refunded: Float + "The number of returned items" + quantity_returned: Float + "The number of shipped items" + quantity_shipped: Float + "The selected options for the base product, such as color or size" + selected_options: [OrderItemOption] + "The status of the order item" + status: String } "Represents order item options like selected or entered" type OrderItemOption { - "The name of the option" - label: String! - "The value of the option" - value: String! + "The name of the option" + label: String! + "The value of the option" + value: String! } "Contains details about the payment method used to pay for the order" type OrderPaymentMethod { - "Additional data per payment method type" - additional_data: [KeyValue] - "The label that describes the payment method" - name: String! - "The payment method code that indicates how the order was paid for" - type: String! + "Additional data per payment method type" + additional_data: [KeyValue] + "The label that describes the payment method" + name: String! + "The payment method code that indicates how the order was paid for" + type: String! } "Order shipment details" type OrderShipment { - "Comments added to the shipment" - comments: [SalesCommentItem] - "The unique ID for a `OrderShipment` object" - id: ID! - "Contains items included in the shipment" - items: [ShipmentItemInterface] - "The sequential credit shipment number" - number: String! - "Contains shipment tracking details" - tracking: [ShipmentTracking] + "Comments added to the shipment" + comments: [SalesCommentItem] + "The unique ID for a `OrderShipment` object" + id: ID! + "Contains items included in the shipment" + items: [ShipmentItemInterface] + "The sequential credit shipment number" + number: String! + "Contains shipment tracking details" + tracking: [ShipmentTracking] } "Contains details about the sales total amounts used to calculate the final price" type OrderTotal { - "The final base grand total amount in the base currency" - base_grand_total: Money! - "The applied discounts to the order" - discounts: [Discount] - "The final total amount, including shipping, discounts, and taxes" - grand_total: Money! - "Contains details about the shipping and handling costs for the order" - shipping_handling: ShippingHandling - "The subtotal of the order, excluding shipping, discounts, and taxes" - subtotal: Money! - "The order tax details" - taxes: [TaxItem] - "The shipping amount for the order" - total_shipping: Money! - "The amount of tax applied to the order" - total_tax: Money! + "The final base grand total amount in the base currency" + base_grand_total: Money! + "The applied discounts to the order" + discounts: [Discount] + "The final total amount, including shipping, discounts, and taxes" + grand_total: Money! + "Contains details about the shipping and handling costs for the order" + shipping_handling: ShippingHandling + "The subtotal of the order, excluding shipping, discounts, and taxes" + subtotal: Money! + "The order tax details" + taxes: [TaxItem] + "The shipping amount for the order" + total_shipping: Money! + "The amount of tax applied to the order" + total_tax: Money! } "Contains information used to generate PayPal iframe for transaction. Applies to Payflow Link and Payments Advanced payment methods." type PayflowLinkToken { - "Mode for Payflow transaction" - mode: PayflowLinkMode - "PayPal URL used for requesting Payflow form" - paypal_url: String - "Secure token generated by PayPal" - secure_token: String - "Secure token ID generated by PayPal" - secure_token_id: String + "Mode for Payflow transaction" + mode: PayflowLinkMode + "PayPal URL used for requesting Payflow form" + paypal_url: String + "Secure token generated by PayPal" + secure_token: String + "Secure token ID generated by PayPal" + secure_token_id: String } type PayflowProResponseOutput { - cart: Cart! + cart: Cart! } "Contains the secure information used to authorize transaction. Applies to Payflow Pro and Payments Pro payment methods." type PayflowProToken { - response_message: String! - result: Int! - result_code: Int! - secure_token: String! - secure_token_id: String! + response_message: String! + result: Int! + result_code: Int! + secure_token: String! + secure_token_id: String! } "The stored payment method available to the customer" type PaymentToken { - "Stored account details" - details: String - "The payment method code associated with the token" - payment_method_code: String! - "The public hash of the token" - public_hash: String! - type: PaymentTokenTypeEnum! + "Stored account details" + details: String + "The payment method code associated with the token" + payment_method_code: String! + "The public hash of the token" + public_hash: String! + type: PaymentTokenTypeEnum! } "Deprecated: use type `PaypalExpressTokenOutput` instead" type PaypalExpressToken { - "A set of URLs that allow the buyer to authorize payment and adjust checkout details" - paypal_urls: PaypalExpressUrlList @deprecated(reason : "Use field `paypal_urls` of type `PaypalExpressTokenOutput` instead") - "The token returned by PayPal" - token: String @deprecated(reason : "Use field `token` of type `PaypalExpressTokenOutput` instead") + "A set of URLs that allow the buyer to authorize payment and adjust checkout details" + paypal_urls: PaypalExpressUrlList @deprecated(reason : "Use field `paypal_urls` of type `PaypalExpressTokenOutput` instead") + "The token returned by PayPal" + token: String @deprecated(reason : "Use field `token` of type `PaypalExpressTokenOutput` instead") } "Contains the token returned by PayPal and a set of URLs that allow the buyer to authorize payment and adjust checkout details. Applies to Express Checkout and Payments Standard payment methods." type PaypalExpressTokenOutput { - "A set of URLs that allow the buyer to authorize payment and adjust checkout details" - paypal_urls: PaypalExpressUrlList - "The token returned by PayPal" - token: String + "A set of URLs that allow the buyer to authorize payment and adjust checkout details" + paypal_urls: PaypalExpressUrlList + "The token returned by PayPal" + token: String } "A set of URLs that allow the buyer to authorize payment and adjust checkout details for Express Checkout and Payments Standard transactions." type PaypalExpressUrlList { - "The PayPal URL that allows the buyer to edit their checkout details" - edit: String - "The URL to the PayPal login page" - start: String + "The PayPal URL that allows the buyer to edit their checkout details" + edit: String + "The URL to the PayPal login page" + start: String } "Defines Pickup Location information." type PickupLocation { - city: String - contact_name: String - country_id: String - description: String - email: String - fax: String - latitude: Float - longitude: Float - name: String - phone: String - pickup_location_code: String - postcode: String - region: String - region_id: Int - street: String + city: String + contact_name: String + country_id: String + description: String + email: String + fax: String + latitude: Float + longitude: Float + name: String + phone: String + pickup_location_code: String + postcode: String + region: String + region_id: Int + street: String } "Top level object returned in a pickup locations search." type PickupLocations { - "An array of pickup locations that match the specific search request." - items: [PickupLocation] - "An object that includes the page_info and currentPage values specified in the query." - page_info: SearchResultPageInfo - "The number of products returned." - total_count: Int + "An array of pickup locations that match the specific search request." + items: [PickupLocation] + "An object that includes the page_info and currentPage values specified in the query." + page_info: SearchResultPageInfo + "The number of products returned." + total_count: Int } type PlaceOrderOutput { - order: Order! + order: Order! } "Price is deprecated, replaced by ProductPrice. The Price object defines the price of a product as well as any tax-related adjustments." type Price { - "An array that provides information about tax, weee, or weee_tax adjustments." - adjustments: [PriceAdjustment] @deprecated(reason : "Price is deprecated, use ProductPrice.") - "The price of a product plus a three-letter currency code." - amount: Money @deprecated(reason : "Price is deprecated, use ProductPrice.") + "An array that provides information about tax, weee, or weee_tax adjustments." + adjustments: [PriceAdjustment] @deprecated(reason : "Price is deprecated, use ProductPrice.") + "The price of a product plus a three-letter currency code." + amount: Money @deprecated(reason : "Price is deprecated, use ProductPrice.") } "PriceAdjustment is deprecated. Taxes will be included or excluded in the price. The PricedAdjustment object defines the amount of money to apply as an adjustment, the type of adjustment to apply, and whether the item is included or excluded from the adjustment." type PriceAdjustment { - "The amount of the price adjustment and its currency code." - amount: Money - "Indicates whether the adjustment involves tax, weee, or weee_tax." - code: PriceAdjustmentCodesEnum @deprecated(reason : "PriceAdjustment is deprecated.") - "Indicates whether the entity described by the code attribute is included or excluded from the adjustment." - description: PriceAdjustmentDescriptionEnum @deprecated(reason : "PriceAdjustment is deprecated.") + "The amount of the price adjustment and its currency code." + amount: Money + "Indicates whether the adjustment involves tax, weee, or weee_tax." + code: PriceAdjustmentCodesEnum @deprecated(reason : "PriceAdjustment is deprecated.") + "Indicates whether the entity described by the code attribute is included or excluded from the adjustment." + description: PriceAdjustmentDescriptionEnum @deprecated(reason : "PriceAdjustment is deprecated.") } "Price range for a product. If the product has a single price, the minimum and maximum price will be the same." type PriceRange { - "The highest possible price for the product." - maximum_price: ProductPrice - "The lowest possible price for the product." - minimum_price: ProductPrice! + "The highest possible price for the product." + maximum_price: ProductPrice + "The lowest possible price for the product." + minimum_price: ProductPrice! } type ProductAttribute { - "The unique identifier for a product attribute code." - code: String! - "The display value of the attribute" - value: String! + "The unique identifier for a product attribute code." + code: String! + "The display value of the attribute" + value: String! } "A discount applied to a product price." type ProductDiscount { - "The actual value of the discount." - amount_off: Float - "The discount expressed a percentage." - percent_off: Float + "The actual value of the discount." + amount_off: Float + "The discount expressed a percentage." + percent_off: Float } "Product image information. Contains the image URL and label." type ProductImage implements MediaGalleryInterface { - "Whether the image is hidden from view." - disabled: Boolean - "The label of the product image or video." - label: String - "The media item's position after it has been sorted." - position: Int - "The URL of the product image or video." - url: String + "Whether the image is hidden from view." + disabled: Boolean + "The label of the product image or video." + label: String + "The media item's position after it has been sorted." + position: Int + "The URL of the product image or video." + url: String } "ProductLinks is an implementation of ProductLinksInterface." type ProductLinks implements ProductLinksInterface { - "One of related, associated, upsell, or crosssell." - link_type: String - "The SKU of the linked product." - linked_product_sku: String - "The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable)." - linked_product_type: String - "The position within the list of product links." - position: Int - "The identifier of the linked product." - sku: String + "One of related, associated, upsell, or crosssell." + link_type: String + "The SKU of the linked product." + linked_product_sku: String + "The type of linked product (simple, virtual, bundle, downloadable, grouped, configurable)." + linked_product_type: String + "The position within the list of product links." + position: Int + "The identifier of the linked product." + sku: String } "ProductMediaGalleryEntriesContent contains an image in base64 format and basic information about the image." type ProductMediaGalleryEntriesContent { - "The image in base64 format." - base64_encoded_data: String - "The file name of the image." - name: String - "The MIME type of the file, such as image/png." - type: String + "The image in base64 format." + base64_encoded_data: String + "The file name of the image." + name: String + "The MIME type of the file, such as image/png." + type: String } "ProductMediaGalleryEntriesVideoContent contains a link to a video file and basic information about the video." type ProductMediaGalleryEntriesVideoContent { - "Must be external-video." - media_type: String - "A description of the video." - video_description: String - "Optional data about the video." - video_metadata: String - "Describes the video source." - video_provider: String - "The title of the video." - video_title: String - "The URL to the video." - video_url: String + "Must be external-video." + media_type: String + "A description of the video." + video_description: String + "Optional data about the video." + video_metadata: String + "Describes the video source." + video_provider: String + "The title of the video." + video_title: String + "The URL to the video." + video_url: String } "Represents a product price." type ProductPrice { - "The price discount. Represents the difference between the regular and final price." - discount: ProductDiscount - "The final price of the product after discounts applied." - final_price: Money! - "The multiple FPTs that can be applied to a product price." - fixed_product_taxes: [FixedProductTax] - "The regular price of the product." - regular_price: Money! + "The price discount. Represents the difference between the regular and final price." + discount: ProductDiscount + "The final price of the product after discounts applied." + final_price: Money! + "The multiple FPTs that can be applied to a product price." + fixed_product_taxes: [FixedProductTax] + "The regular price of the product." + regular_price: Money! } "ProductPrices is deprecated, replaced by PriceRange. The ProductPrices object contains the regular price of an item, as well as its minimum and maximum prices. Only composite products, which include bundle, configurable, and grouped products, can contain a minimum and maximum price." type ProductPrices { - "The highest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the to value." - maximalPrice: Price @deprecated(reason : "Use PriceRange.maximum_price.") - "The lowest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the from value." - minimalPrice: Price @deprecated(reason : "Use PriceRange.minimum_price.") - "The base price of a product." - regularPrice: Price @deprecated(reason : "Use regular_price from PriceRange.minimum_price or PriceRange.maximum_price.") + "The highest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the to value." + maximalPrice: Price @deprecated(reason : "Use PriceRange.maximum_price.") + "The lowest possible final price for all the options defined within a composite product. If you are specifying a price range, this would be the from value." + minimalPrice: Price @deprecated(reason : "Use PriceRange.minimum_price.") + "The base price of a product." + regularPrice: Price @deprecated(reason : "Use regular_price from PriceRange.minimum_price or PriceRange.maximum_price.") } "Details of a product review" type ProductReview { - "The average rating for product review." - average_rating: Float! - "Date indicating when the review was created." - created_at: String! - "The customer's nickname. Defaults to the customer name, if logged in" - nickname: String! - "Contains details about the reviewed product" - product: ProductInterface! - "An array of ratings by rating category, such as quality, price, and value" - ratings_breakdown: [ProductReviewRating]! - "The summary (title) of the review" - summary: String! - "The review text." - text: String! + "The average rating for product review." + average_rating: Float! + "Date indicating when the review was created." + created_at: String! + "The customer's nickname. Defaults to the customer name, if logged in" + nickname: String! + "Contains details about the reviewed product" + product: ProductInterface! + "An array of ratings by rating category, such as quality, price, and value" + ratings_breakdown: [ProductReviewRating]! + "The summary (title) of the review" + summary: String! + "The review text." + text: String! } type ProductReviewRating { - "The label assigned to an aspect of a product that is being rated, such as quality or price" - name: String! - "The rating value given by customer. By default, possible values range from 1 to 5." - value: String! + "The label assigned to an aspect of a product that is being rated, such as quality or price" + name: String! + "The rating value given by customer. By default, possible values range from 1 to 5." + value: String! } type ProductReviewRatingMetadata { - "An encoded rating ID." - id: String! - "The label assigned to an aspect of a product that is being rated, such as quality or price" - name: String! - "List of product review ratings sorted by position." - values: [ProductReviewRatingValueMetadata]! + "An encoded rating ID." + id: String! + "The label assigned to an aspect of a product that is being rated, such as quality or price" + name: String! + "List of product review ratings sorted by position." + values: [ProductReviewRatingValueMetadata]! } type ProductReviewRatingValueMetadata { - "A ratings scale, such as the number of stars awarded" - value: String! - "An encoded rating value id." - value_id: String! + "A ratings scale, such as the number of stars awarded" + value: String! + "An encoded rating value id." + value_id: String! } type ProductReviewRatingsMetadata { - "List of product reviews sorted by position" - items: [ProductReviewRatingMetadata]! + "List of product reviews sorted by position" + items: [ProductReviewRatingMetadata]! } type ProductReviews { - "An array of product reviews." - items: [ProductReview]! - "Metadata for pagination rendering." - page_info: SearchResultPageInfo! + "An array of product reviews." + items: [ProductReview]! + "Metadata for pagination rendering." + page_info: SearchResultPageInfo! } "ProductTierPrices is deprecated and has been replaced by TierPrice. The ProductTierPrices object defines a tier price, which is a quantity discount offered to a specific customer group." type ProductTierPrices { - "The ID of the customer group." - customer_group_id: String @deprecated(reason : "customer_group_id is not relevant for storefront.") - "The percentage discount of the item." - percentage_value: Float @deprecated(reason : "ProductTierPrices is deprecated. Use TierPrice.discount.") - "The number of items that must be purchased to qualify for tier pricing." - qty: Float @deprecated(reason : "ProductTierPrices is deprecated, use TierPrice.quantity.") - "The price of the fixed price item." - value: Float @deprecated(reason : "ProductTierPrices is deprecated. Use TierPrice.final_price") - "The ID assigned to the website." - website_id: Float @deprecated(reason : "website_id is not relevant for storefront.") + "The ID of the customer group." + customer_group_id: String @deprecated(reason : "customer_group_id is not relevant for storefront.") + "The percentage discount of the item." + percentage_value: Float @deprecated(reason : "ProductTierPrices is deprecated. Use TierPrice.discount.") + "The number of items that must be purchased to qualify for tier pricing." + qty: Float @deprecated(reason : "ProductTierPrices is deprecated, use TierPrice.quantity.") + "The price of the fixed price item." + value: Float @deprecated(reason : "ProductTierPrices is deprecated. Use TierPrice.final_price") + "The ID assigned to the website." + website_id: Float @deprecated(reason : "website_id is not relevant for storefront.") } "Contains information about a product video." type ProductVideo implements MediaGalleryInterface { - "Whether the image is hidden from view." - disabled: Boolean - "The label of the product image or video." - label: String - "The media item's position after it has been sorted." - position: Int - "The URL of the product image or video." - url: String - "Contains a ProductMediaGalleryEntriesVideoContent object." - video_content: ProductMediaGalleryEntriesVideoContent + "Whether the image is hidden from view." + disabled: Boolean + "The label of the product image or video." + label: String + "The media item's position after it has been sorted." + position: Int + "The URL of the product image or video." + url: String + "Contains a ProductMediaGalleryEntriesVideoContent object." + video_content: ProductMediaGalleryEntriesVideoContent } "The Products object is the top-level object returned in a product search." type Products { - "Layered navigation aggregations." - aggregations: [Aggregation] - "Layered navigation filters array." - filters: [LayerFilter] @deprecated(reason : "Use aggregations instead") - "An array of products that match the specified search criteria." - items: [ProductInterface] - "An object that includes the page_info and currentPage values specified in the query." - page_info: SearchResultPageInfo - "An object that includes the default sort field and all available sort fields." - sort_fields: SortFields - "The number of products that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." - total_count: Int + "Layered navigation aggregations." + aggregations: [Aggregation] + "Layered navigation filters array." + filters: [LayerFilter] @deprecated(reason : "Use aggregations instead") + "An array of products that match the specified search criteria." + items: [ProductInterface] + "An object that includes the page_info and currentPage values specified in the query." + page_info: SearchResultPageInfo + "An object that includes the default sort field and all available sort fields." + sort_fields: SortFields + "The number of products that are marked as visible. By default, in complex products, parent products are visible, but their child products are not." + total_count: Int } type Query { - "Get a list of available store views and their config information." - availableStores( - "Filter store views by current store group" - useCurrentGroup: Boolean - ): [StoreConfig] - "Returns information about shopping cart" - cart(cart_id: String!): Cart - categories( - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Identifies which Category filter inputs to search for and return." - filters: CategoryFilterInput, - "Specifies the maximum number of results to return at once. This attribute is optional." - pageSize: Int = 20 - ): CategoryResult - "The category query searches for categories that match the criteria specified in the search and filter attributes." - category( - "Id of the category." - id: Int - ): CategoryTree @deprecated(reason : "Use 'categoryList' query instead of 'category' query") - "Returns an array of categories based on the specified filters." - categoryList( - "Identifies which Category filter inputs to search for and return." - filters: CategoryFilterInput - ): [CategoryTree] - "The Checkout Agreements information" - checkoutAgreements: [CheckoutAgreement] - "The CMS block query returns information about CMS blocks" - cmsBlocks( - "Identifiers of the CMS blocks" - identifiers: [String] - ): CmsBlocks - "The CMS page query returns information about a CMS page" - cmsPage( - "Id of the CMS page" - id: Int, - "Identifier of the CMS page" - identifier: String - ): CmsPage - "Return products that have been added to the specified compare list" - compareList(uid: ID!): CompareList - "The countries query provides information for all countries." - countries: [Country] - "The countries query provides information for a single country." - country(id: String): Country - "The currency query returns information about store currency." - currency: Currency - "The customAttributeMetadata query returns the attribute type, given an attribute code and entity type" - customAttributeMetadata(attributes: [AttributeInput!]!): CustomAttributeMetadata - "The customer query returns information about a customer account" - customer: Customer - "Returns information about the customer shopping cart" - customerCart: Cart! - "The query returns the contents of a customer's downloadable products" - customerDownloadableProducts: CustomerDownloadableProducts - customerOrders: CustomerOrders @deprecated(reason : "Use orders from customer instead") - "Return a list of customer payment tokens" - customerPaymentTokens: CustomerPaymentTokens - "Retrieve secure PayPal url for Payments Pro Hosted Solution transaction." - getHostedProUrl(input: HostedProUrlInput!): HostedProUrl - "Retrieve payment credentials for transaction. Use this query for Payflow Link and Payments Advanced payment methods." - getPayflowLinkToken(input: PayflowLinkTokenInput!): PayflowLinkToken - isEmailAvailable( - "The new customer email" - email: String! - ): IsEmailAvailableOutput - "The pickup locations query searches for locations that match the search request requirements." - pickupLocations( - "Perform search by location using radius and search term." - area: AreaInput, - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Apply filters by attributes." - filters: PickupLocationFilterInput, - "The maximum number of pickup locations to return at once. The attribute is optional." - pageSize: Int = 20, - "Information about products which should be delivered." - productsInfo: [ProductInfoInput], - "Specifies which attribute to sort on, and whether to return the results in ascending or descending order." - sort: PickupLocationSortInput - ): PickupLocations - "Retrieves metadata required by clients to render the Reviews section." - productReviewRatingsMetadata: ProductReviewRatingsMetadata! - "The products query searches for products that match the criteria specified in the search and filter attributes." - products( - "Specifies which page of results to return. The default value is 1." - currentPage: Int = 1, - "Identifies which product attributes to search for and return." - filter: ProductAttributeFilterInput, - "Specifies the maximum number of results to return at once. This attribute is optional." - pageSize: Int = 20, - "Performs a full-text search using the specified key words." - search: String, - "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." - sort: ProductAttributeSortInput - ): Products - "The store config query" - storeConfig: StoreConfig - "The urlResolver query returns the relative URL for a specified product, category or CMS page, using as input a url_key appended by the url_suffix, if one exists" - urlResolver(url: String!): EntityUrl - "The wishlist query returns the contents of a customer's wish list" - wishlist: WishlistOutput @deprecated(reason : "Moved under `Customer` `wishlist`") + "Get a list of available store views and their config information." + availableStores( + "Filter store views by current store group" + useCurrentGroup: Boolean + ): [StoreConfig] + "Returns information about shopping cart" + cart(cart_id: String!): Cart + categories( + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Identifies which Category filter inputs to search for and return." + filters: CategoryFilterInput, + "Specifies the maximum number of results to return at once. This attribute is optional." + pageSize: Int = 20 + ): CategoryResult + "The category query searches for categories that match the criteria specified in the search and filter attributes." + category( + "Id of the category." + id: Int + ): CategoryTree @deprecated(reason : "Use 'categoryList' query instead of 'category' query") + "Returns an array of categories based on the specified filters." + categoryList( + "Identifies which Category filter inputs to search for and return." + filters: CategoryFilterInput + ): [CategoryTree] + "Retrieves an array of configuration data for the chat widget." + chatData: ChatData + "The Checkout Agreements information" + checkoutAgreements: [CheckoutAgreement] + "The CMS block query returns information about CMS blocks" + cmsBlocks( + "Identifiers of the CMS blocks" + identifiers: [String] + ): CmsBlocks + "The CMS page query returns information about a CMS page" + cmsPage( + "Id of the CMS page" + id: Int, + "Identifier of the CMS page" + identifier: String + ): CmsPage + "Return products that have been added to the specified compare list" + compareList(uid: ID!): CompareList + "The countries query provides information for all countries." + countries: [Country] + "The countries query provides information for a single country." + country(id: String): Country + "The currency query returns information about store currency." + currency: Currency + "The customAttributeMetadata query returns the attribute type, given an attribute code and entity type" + customAttributeMetadata(attributes: [AttributeInput!]!): CustomAttributeMetadata + "The customer query returns information about a customer account" + customer: Customer + "Returns information about the customer shopping cart" + customerCart: Cart! + "The query returns the contents of a customer's downloadable products" + customerDownloadableProducts: CustomerDownloadableProducts + customerOrders: CustomerOrders @deprecated(reason : "Use orders from customer instead") + "Return a list of customer payment tokens" + customerPaymentTokens: CustomerPaymentTokens + "Returns status of Easy Email Capture for Checkout." + emailCaptureCheckout: IsConfigSettingEnabledOutput + "Returns status of Easy Email Capture for Newsletter." + emailCaptureNewsletter: IsConfigSettingEnabledOutput + "Retrieve secure PayPal url for Payments Pro Hosted Solution transaction." + getHostedProUrl(input: HostedProUrlInput!): HostedProUrl + "Retrieve payment credentials for transaction. Use this query for Payflow Link and Payments Advanced payment methods." + getPayflowLinkToken(input: PayflowLinkTokenInput!): PayflowLinkToken + isEmailAvailable( + "The new customer email" + email: String! + ): IsEmailAvailableOutput + "Retrieves information about an order by order id." + orderData(orderId: String!): Order + "The pickup locations query searches for locations that match the search request requirements." + pickupLocations( + "Perform search by location using radius and search term." + area: AreaInput, + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Apply filters by attributes." + filters: PickupLocationFilterInput, + "The maximum number of pickup locations to return at once. The attribute is optional." + pageSize: Int = 20, + "Information about products which should be delivered." + productsInfo: [ProductInfoInput], + "Specifies which attribute to sort on, and whether to return the results in ascending or descending order." + sort: PickupLocationSortInput + ): PickupLocations + "Retrieves metadata required by clients to render the Reviews section." + productReviewRatingsMetadata: ProductReviewRatingsMetadata! + "The products query searches for products that match the criteria specified in the search and filter attributes." + products( + "Specifies which page of results to return. The default value is 1." + currentPage: Int = 1, + "Identifies which product attributes to search for and return." + filter: ProductAttributeFilterInput, + "Specifies the maximum number of results to return at once. This attribute is optional." + pageSize: Int = 20, + "Performs a full-text search using the specified key words." + search: String, + "Specifies which attributes to sort on, and whether to return the results in ascending or descending order." + sort: ProductAttributeSortInput + ): Products + "Return the full details for a specified product, category, or CMS page given the specified url_key, appended by the url_suffix, if one exists" + route(url: String!): RoutableInterface + "The store config query" + storeConfig: StoreConfig + "Retrieves an array of configuration data for different types of tracking." + trackingData: TrackingData + "The urlResolver query returns the relative URL for a specified product, category or CMS page, using as input a url_key appended by the url_suffix, if one exists" + urlResolver(url: String!): EntityUrl @deprecated(reason : "Use the 'route' query instead") + "The wishlist query returns the contents of a customer's wish list" + wishlist: WishlistOutput @deprecated(reason : "Moved under `Customer` `wishlist`") } type Region { - code: String - "The unique ID for a `Region` object." - id: Int - name: String + code: String + "The unique ID for a `Region` object." + id: Int + name: String } type RemoveCouponFromCartOutput { - cart: Cart + cart: Cart } type RemoveItemFromCartOutput { - cart: Cart! + cart: Cart! } "Contains the customer's wish list and any errors encountered" type RemoveProductsFromWishlistOutput { - "An array of errors encountered while deleting products from a wish list" - user_errors: [WishListUserInputError]! - "Contains the wish list with after items were successfully deleted" - wishlist: Wishlist! + "An array of errors encountered while deleting products from a wish list" + user_errors: [WishListUserInputError]! + "Contains the wish list with after items were successfully deleted" + wishlist: Wishlist! } type ReorderItemsOutput { - "Contains detailed information about the customer's cart." - cart: Cart! - "An array of reordering errors." - userInputErrors: [CheckoutUserInputError]! + "Contains detailed information about the customer's cart." + cart: Cart! + "An array of reordering errors." + userInputErrors: [CheckoutUserInputError]! } type RevokeCustomerTokenOutput { - result: Boolean! + result: Boolean! } "Comment item details" type SalesCommentItem { - "The text of the message" - message: String! - "The timestamp of the comment" - timestamp: String! + "The text of the message" + message: String! + "The timestamp of the comment" + timestamp: String! } type SalesItemInterface { - "The entered gift message for the order item" - gift_message: GiftMessage + "The entered gift message for the order item" + gift_message: GiftMessage } "SearchResultPageInfo provides navigation for the query response" type SearchResultPageInfo { - "Specifies which page of results to return" - current_page: Int - "Specifies the maximum number of items to return" - page_size: Int - "Total pages" - total_pages: Int + "Specifies which page of results to return" + current_page: Int + "Specifies the maximum number of items to return" + page_size: Int + "Total pages" + total_pages: Int } type SelectedBundleOption { - id: Int! @deprecated(reason : "Use `uid` instead") - label: String! - type: String! - "The unique ID for a `SelectedBundleOption` object" - uid: ID! - values: [SelectedBundleOptionValue]! + id: Int! @deprecated(reason : "Use `uid` instead") + label: String! + type: String! + "The unique ID for a `SelectedBundleOption` object" + uid: ID! + values: [SelectedBundleOptionValue]! } type SelectedBundleOptionValue { - "Use `uid` instead" - id: Int! - label: String! - price: Float! - quantity: Float! - "The unique ID for a `SelectedBundleOptionValue` object" - uid: ID! + "Use `uid` instead" + id: Int! + label: String! + price: Float! + quantity: Float! + "The unique ID for a `SelectedBundleOptionValue` object" + uid: ID! } type SelectedConfigurableOption { - "The unique ID for a `ConfigurableProductOptions` object" - configurable_product_option_uid: ID! - "The unique ID for a `ConfigurableProductOptionsValues` object" - configurable_product_option_value_uid: ID! - id: Int! @deprecated(reason : "Use SelectedConfigurableOption.configurable_product_option_uid instead") - option_label: String! - value_id: Int! @deprecated(reason : "Use SelectedConfigurableOption.configurable_product_option_value_uid instead") - value_label: String! + "The unique ID for a `ConfigurableProductOptions` object" + configurable_product_option_uid: ID! + "The unique ID for a `ConfigurableProductOptionsValues` object" + configurable_product_option_value_uid: ID! + id: Int! @deprecated(reason : "Use SelectedConfigurableOption.configurable_product_option_uid instead") + option_label: String! + value_id: Int! @deprecated(reason : "Use SelectedConfigurableOption.configurable_product_option_value_uid instead") + value_label: String! } type SelectedCustomizableOption { - "The unique ID for a `CustomizableRadioOption`, `CustomizableDropDownOption`, `CustomizableMultipleOption`, etc. of `CustomizableOptionInterface` objects" - customizable_option_uid: ID! - id: Int! @deprecated(reason : "Use SelectedCustomizableOption.customizable_option_uid instead") - is_required: Boolean! - label: String! - sort_order: Int! - type: String! - values: [SelectedCustomizableOptionValue]! + "The unique ID for a `CustomizableRadioOption`, `CustomizableDropDownOption`, `CustomizableMultipleOption`, etc. of `CustomizableOptionInterface` objects" + customizable_option_uid: ID! + id: Int! @deprecated(reason : "Use SelectedCustomizableOption.customizable_option_uid instead") + is_required: Boolean! + label: String! + sort_order: Int! + type: String! + values: [SelectedCustomizableOptionValue]! } type SelectedCustomizableOptionValue { - "The unique ID for a `CustomizableMultipleValue`, `CustomizableRadioValue`, `CustomizableCheckboxValue`, `CustomizableDropDownValue`, etc. objects" - customizable_option_value_uid: ID! - id: Int! @deprecated(reason : "Use SelectedCustomizableOptionValue.customizable_option_value_uid instead") - label: String! - price: CartItemSelectedOptionValuePrice! - value: String! + "The unique ID for a `CustomizableMultipleValue`, `CustomizableRadioValue`, `CustomizableCheckboxValue`, `CustomizableDropDownValue`, etc. objects" + customizable_option_value_uid: ID! + id: Int! @deprecated(reason : "Use SelectedCustomizableOptionValue.customizable_option_value_uid instead") + label: String! + price: CartItemSelectedOptionValuePrice! + value: String! } type SelectedPaymentMethod { - "The payment method code" - code: String! - "The purchase order number." - purchase_order_number: String - "The payment method title." - title: String! + "The payment method code" + code: String! + "The purchase order number." + purchase_order_number: String + "The payment method title." + title: String! } type SelectedShippingMethod { - amount: Money! - base_amount: Money @deprecated(reason : "The field should not be used on the storefront") - carrier_code: String! - carrier_title: String! - method_code: String! - method_title: String! + amount: Money! + base_amount: Money @deprecated(reason : "The field should not be used on the storefront") + carrier_code: String! + carrier_title: String! + method_code: String! + method_title: String! } type SendEmailToFriendOutput { - recipients: [SendEmailToFriendRecipient] - sender: SendEmailToFriendSender + recipients: [SendEmailToFriendRecipient] + sender: SendEmailToFriendSender } type SendEmailToFriendRecipient { - email: String! - name: String! + email: String! + name: String! } type SendEmailToFriendSender { - email: String! - message: String! - name: String! + email: String! + message: String! + name: String! } type SendFriendConfiguration { - "Indicates whether the Email to a Friend feature is enabled." - enabled_for_customers: Boolean! - "Indicates whether the Email to a Friend feature is enabled for guests." - enabled_for_guests: Boolean! + "Indicates whether the Email to a Friend feature is enabled." + enabled_for_customers: Boolean! + "Indicates whether the Email to a Friend feature is enabled for guests." + enabled_for_guests: Boolean! } type SetBillingAddressOnCartOutput { - cart: Cart! + cart: Cart! } type SetGuestEmailOnCartOutput { - cart: Cart! + cart: Cart! } type SetPaymentMethodOnCartOutput { - cart: Cart! + cart: Cart! } type SetShippingAddressesOnCartOutput { - cart: Cart! + cart: Cart! } type SetShippingMethodsOnCartOutput { - cart: Cart! + cart: Cart! } type ShipmentItem implements ShipmentItemInterface { - "The unique ID for a `ShipmentItemInterface` object" - id: ID! - "Associated order item" - order_item: OrderItemInterface - "Name of the base product" - product_name: String - "Sale price for the base product" - product_sale_price: Money! - "SKU of the base product" - product_sku: String! - "Number of shipped items" - quantity_shipped: Float! + "The unique ID for a `ShipmentItemInterface` object" + id: ID! + "Associated order item" + order_item: OrderItemInterface + "Name of the base product" + product_name: String + "Sale price for the base product" + product_sale_price: Money! + "SKU of the base product" + product_sku: String! + "Number of shipped items" + quantity_shipped: Float! } "Order shipment tracking details" type ShipmentTracking { - "The shipping carrier for the order delivery" - carrier: String! - "The tracking number of the order shipment" - number: String - "The shipment tracking title" - title: String! + "The shipping carrier for the order delivery" + carrier: String! + "The tracking number of the order shipment" + number: String + "The shipment tracking title" + title: String! } type ShippingCartAddress implements CartAddressInterface { - available_shipping_methods: [AvailableShippingMethod] - cart_items: [CartItemQuantity] @deprecated(reason : "`cart_items_v2` should be used instead") - cart_items_v2: [CartItemInterface] - city: String! - company: String - country: CartAddressCountry! - customer_notes: String - firstname: String! - items_weight: Float @deprecated(reason : "This information shoud not be exposed on frontend") - lastname: String! - pickup_location_code: String - postcode: String - region: CartAddressRegion - selected_shipping_method: SelectedShippingMethod - street: [String]! - telephone: String! + available_shipping_methods: [AvailableShippingMethod] + cart_items: [CartItemQuantity] @deprecated(reason : "`cart_items_v2` should be used instead") + cart_items_v2: [CartItemInterface] + city: String! + company: String + country: CartAddressCountry! + customer_notes: String + firstname: String! + items_weight: Float @deprecated(reason : "This information shoud not be exposed on frontend") + lastname: String! + pickup_location_code: String + postcode: String + region: CartAddressRegion + selected_shipping_method: SelectedShippingMethod + street: [String]! + telephone: String! } "Defines an individual shipping discount. This discount can be applied to shipping." type ShippingDiscount { - "The amount of the discount" - amount: Money! + "The amount of the discount" + amount: Money! } "The Shipping handling details" type ShippingHandling { - "The shipping amount, excluding tax" - amount_excluding_tax: Money - "The shipping amount, including tax" - amount_including_tax: Money - "The applied discounts to the shipping" - discounts: [ShippingDiscount] - "Contains details about taxes applied for shipping" - taxes: [TaxItem] - "The total amount for shipping" - total_amount: Money! + "The shipping amount, excluding tax" + amount_excluding_tax: Money + "The shipping amount, including tax" + amount_including_tax: Money + "The applied discounts to the shipping" + discounts: [ShippingDiscount] + "Contains details about taxes applied for shipping" + taxes: [TaxItem] + "The total amount for shipping" + total_amount: Money! } "Simple Cart Item" type SimpleCartItem implements CartItemInterface { - customizable_options: [SelectedCustomizableOption]! - "The entered gift message for the cart item" - gift_message: GiftMessage - id: String! @deprecated(reason : "Use `uid` instead") - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "The unique ID for a `CartItemInterface` object" - uid: ID! -} - -"A simple product is tangible and are usually sold as single units or in fixed quantities." -type SimpleProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "An array of options for a customizable product." - options: [CustomizableOptionInterface] - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") - "The weight of the item, in units defined by the store." - weight: Float + customizable_options: [SelectedCustomizableOption]! + "The entered gift message for the cart item" + gift_message: GiftMessage + id: String! @deprecated(reason : "Use `uid` instead") + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "The unique ID for a `CartItemInterface` object" + uid: ID! +} + +"A simple product is tangible and is usually sold in single units or in fixed quantities" +type SimpleProduct implements CustomizableProductInterface & PhysicalProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "An array of options for a customizable product." + options: [CustomizableOptionInterface] + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + "The weight of the item, in units defined by the store." + weight: Float } "A simple product wish list Item" type SimpleWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } type SortField { - "Label of sort field." - label: String - "Attribute code of sort field." - value: String + "Label of sort field." + label: String + "Attribute code of sort field." + value: String } "SortFields contains a default value for sort fields and all available sort fields." type SortFields { - "Default value of sort fields." - default: String - "Available sort fields." - options: [SortField] + "Default value of sort fields." + default: String + "Available sort fields." + options: [SortField] } "The type contains information about a store config" type StoreConfig { - "Footer Miscellaneous HTML" - absolute_footer: String - "Indicates whether guest users can write product reviews. Possible values: 1 (Yes) and 0 (No)" - allow_guests_to_write_product_reviews: String - "The value of the Allow Gift Messages for Order Items option" - allow_items: String - "The value of the Allow Gift Messages on Order Level option" - allow_order: String - "Enable autocomplete on login and forgot password forms" - autocomplete_on_storefront: Boolean - "Base currency code" - base_currency_code: String - "Base link URL for the store" - base_link_url: String - "Base media URL for the store" - base_media_url: String - "Base static URL for the store" - base_static_url: String - "Base URL for the store" - base_url: String - "Braintree cc vault status." - braintree_cc_vault_active: String - "Default Sort By." - catalog_default_sort_by: String - "Corresponds to the 'Display Prices In Product Lists' field. It indicates how FPT information is displayed on category pages" - category_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings - "Category URL Suffix." - category_url_suffix: String - "CMS Home Page" - cms_home_page: String - "CMS No Cookies Page" - cms_no_cookies: String - "CMS No Route Page" - cms_no_route: String - "A code assigned to the store to identify it" - code: String @deprecated(reason : "Use `store_code` instead.") - "The configuration setting determines which thumbnail should be used in the cart for configurable products." - configurable_thumbnail_source: String - "Copyright" - copyright: String - "Default Meta Description" - default_description: String - "Default display currency code" - default_display_currency_code: String - "Default Meta Keywords" - default_keywords: String - "Default Page Title" - default_title: String - "Display Demo Store Notice" - demonotice: Int - "Default Web URL" - front: String - "Products per Page on Grid Default Value." - grid_per_page: Int - "Products per Page on Grid Allowed Values." - grid_per_page_values: String - "Scripts and Style Sheets" - head_includes: String - "Favicon Icon" - head_shortcut_icon: String - "Logo Image" - header_logo_src: String - "The ID number assigned to the store" - id: Int @deprecated(reason : "Use `store_code` instead.") - "Indicates whether the store view has been designated as the default within the store group" - is_default_store: Boolean - "Indicates whether the store group has been designated as the default within the website" - is_default_store_group: Boolean - "List Mode." - list_mode: String - "Products per Page on List Default Value." - list_per_page: Int - "Products per Page on List Allowed Values." - list_per_page_values: String - "Store locale" - locale: String - "Logo Image Alt" - logo_alt: String - "Logo Attribute Height" - logo_height: Int - "Logo Attribute Width" - logo_width: Int - "Indicates whether wishlists are enabled (1) or disabled (0)" - magento_wishlist_general_is_enabled: String - "The minimum number of characters required for a valid password." - minimum_password_length: String - "Default No-route URL" - no_route: String - "Payflow Pro vault status." - payment_payflowpro_cc_vault_active: String - "Corresponds to the 'Display Prices On Product View Page' field. It indicates how FPT information is displayed on product pages" - product_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings - "Indicates whether product reviews are enabled. Possible values: 1 (Yes) and 0 (No)" - product_reviews_enabled: String - "Product URL Suffix." - product_url_suffix: String - "The number of different character classes required in a password (lowercase, uppercase, digits, special characters)." - required_character_classes_number: String - "The ID of the root category" - root_category_id: Int @deprecated(reason : "Use `root_category_uid` instead") - "The unique ID for a `CategoryInterface` object." - root_category_uid: ID - "Corresponds to the 'Display Prices In Sales Modules' field. It indicates how FPT information is displayed on cart, checkout, and order pages" - sales_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings - "Secure base link URL for the store" - secure_base_link_url: String - "Secure base media URL for the store" - secure_base_media_url: String - "Secure base static URL for the store" - secure_base_static_url: String - "Secure base URL for the store" - secure_base_url: String - "Email to a Friend configuration." - send_friend: SendFriendConfiguration - "Show Breadcrumbs for CMS Pages" - show_cms_breadcrumbs: Int - "The unique ID of the store view. In the Admin, this is called the Store View Code. When making a GraphQL call, assign this value to the `Store` header to provide the scope" - store_code: ID - "The unique ID assigned to the store group. In the Admin, this is called the Store Name" - store_group_code: ID - "The label assigned to the store group" - store_group_name: String - "The label assigned to the store view" - store_name: String - "The store view sort order" - store_sort_order: Int - "Timezone of the store" - timezone: String - "Page Title Prefix" - title_prefix: String - "Page Title Separator." - title_separator: String - "Page Title Suffix" - title_suffix: String - "The configuration determines if the store code should be used in the URL" - use_store_in_url: Boolean - "The unique ID for the website" - website_code: ID - "The ID number assigned to the website store" - website_id: Int @deprecated(reason : "The field should not be used on the storefront") - "The label assigned to the website" - website_name: String - "The unit of weight" - weight_unit: String - "Welcome Text" - welcome: String + "Footer Miscellaneous HTML" + absolute_footer: String + "Indicates whether guest users can write product reviews. Possible values: 1 (Yes) and 0 (No)" + allow_guests_to_write_product_reviews: String + "The value of the Allow Gift Messages for Order Items option" + allow_items: String + "The value of the Allow Gift Messages on Order Level option" + allow_order: String + "Enable autocomplete on login and forgot password forms" + autocomplete_on_storefront: Boolean + "Base currency code" + base_currency_code: String + "Base link URL for the store" + base_link_url: String + "Base media URL for the store" + base_media_url: String + "Base static URL for the store" + base_static_url: String + "Base URL for the store" + base_url: String + "Braintree cc vault status." + braintree_cc_vault_active: String + "Default Sort By." + catalog_default_sort_by: String + "Corresponds to the 'Display Prices In Product Lists' field. It indicates how FPT information is displayed on category pages" + category_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings + "Category URL Suffix." + category_url_suffix: String + "CMS Home Page" + cms_home_page: String + "CMS No Cookies Page" + cms_no_cookies: String + "CMS No Route Page" + cms_no_route: String + "A code assigned to the store to identify it" + code: String @deprecated(reason : "Use `store_code` instead.") + "The configuration setting determines which thumbnail should be used in the cart for configurable products." + configurable_thumbnail_source: String + "Copyright" + copyright: String + "Default Meta Description" + default_description: String + "Default display currency code" + default_display_currency_code: String + "Default Meta Keywords" + default_keywords: String + "Default Page Title" + default_title: String + "Display Demo Store Notice" + demonotice: Int + "Default Web URL" + front: String + "Products per Page on Grid Default Value." + grid_per_page: Int + "Products per Page on Grid Allowed Values." + grid_per_page_values: String + "Scripts and Style Sheets" + head_includes: String + "Favicon Icon" + head_shortcut_icon: String + "Logo Image" + header_logo_src: String + "The ID number assigned to the store" + id: Int @deprecated(reason : "Use `store_code` instead.") + "Indicates whether the store view has been designated as the default within the store group" + is_default_store: Boolean + "Indicates whether the store group has been designated as the default within the website" + is_default_store_group: Boolean + "List Mode." + list_mode: String + "Products per Page on List Default Value." + list_per_page: Int + "Products per Page on List Allowed Values." + list_per_page_values: String + "Store locale" + locale: String + "Logo Image Alt" + logo_alt: String + "Logo Attribute Height" + logo_height: Int + "Logo Attribute Width" + logo_width: Int + "Indicates whether wishlists are enabled (1) or disabled (0)" + magento_wishlist_general_is_enabled: String + "The minimum number of characters required for a valid password." + minimum_password_length: String + "Default No-route URL" + no_route: String + "Payflow Pro vault status." + payment_payflowpro_cc_vault_active: String + "Corresponds to the 'Display Prices On Product View Page' field. It indicates how FPT information is displayed on product pages" + product_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings + "Indicates whether product reviews are enabled. Possible values: 1 (Yes) and 0 (No)" + product_reviews_enabled: String + "Product URL Suffix." + product_url_suffix: String + "The number of different character classes required in a password (lowercase, uppercase, digits, special characters)." + required_character_classes_number: String + "The ID of the root category" + root_category_id: Int @deprecated(reason : "Use `root_category_uid` instead") + "The unique ID for a `CategoryInterface` object." + root_category_uid: ID + "Corresponds to the 'Display Prices In Sales Modules' field. It indicates how FPT information is displayed on cart, checkout, and order pages" + sales_fixed_product_tax_display_setting: FixedProductTaxDisplaySettings + "Secure base link URL for the store" + secure_base_link_url: String + "Secure base media URL for the store" + secure_base_media_url: String + "Secure base static URL for the store" + secure_base_static_url: String + "Secure base URL for the store" + secure_base_url: String + "Email to a Friend configuration." + send_friend: SendFriendConfiguration + "Show Breadcrumbs for CMS Pages" + show_cms_breadcrumbs: Int + "The unique ID of the store view. In the Admin, this is called the Store View Code. When making a GraphQL call, assign this value to the `Store` header to provide the scope" + store_code: ID + "The unique ID assigned to the store group. In the Admin, this is called the Store Name" + store_group_code: ID + "The label assigned to the store group" + store_group_name: String + "The label assigned to the store view" + store_name: String + "The store view sort order" + store_sort_order: Int + "Timezone of the store" + timezone: String + "Page Title Prefix" + title_prefix: String + "Page Title Separator." + title_separator: String + "Page Title Suffix" + title_suffix: String + "The configuration determines if the store code should be used in the URL" + use_store_in_url: Boolean + "The unique ID for the website" + website_code: ID + "The ID number assigned to the website store" + website_id: Int @deprecated(reason : "The field should not be used on the storefront") + "The label assigned to the website" + website_name: String + "The unit of weight" + weight_unit: String + "Welcome Text" + welcome: String +} + +type StorefrontProperties { + "The relative position of the attribute in the layered navigation block" + position: Int + "Indicates whether the attribute is filterable with results, without results, or not at all" + use_in_layered_navigation: UseInLayeredNavigationOptions + "Indicates whether the attribute is displayed in product listings" + use_in_product_listing: Boolean + "Indicates whether the attribute can be used in layered navigation on search results pages" + use_in_search_results_layered_navigation: Boolean + "Indicates whether the attribute is displayed on product pages" + visible_on_catalog_pages: Boolean } type SubscribeEmailToNewsletterOutput { - "Returns the status of the subscription request" - status: SubscriptionStatusesEnum + "Returns the status of the subscription request" + status: SubscriptionStatusesEnum } type SwatchData { - "Type of swatch filter item: 1 - text, 2 - image" - type: String - "Value for swatch item (text or image link)" - value: String + "Type of swatch filter item: 1 - text, 2 - image" + type: String + "Value for swatch item (text or image link)" + value: String } type SwatchLayerFilterItem implements LayerFilterItemInterface & SwatchLayerFilterItemInterface { - "Count of items by filter." - items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") - "Filter label." - label: String @deprecated(reason : "Use AggregationOption.label instead.") - "Data required to render swatch filter item" - swatch_data: SwatchData - "Value for filter request variable to be used in query." - value_string: String @deprecated(reason : "Use AggregationOption.value instead.") + "Count of items by filter." + items_count: Int @deprecated(reason : "Use AggregationOption.count instead.") + "Filter label." + label: String @deprecated(reason : "Use AggregationOption.label instead.") + "Data required to render swatch filter item" + swatch_data: SwatchData + "Value for filter request variable to be used in query." + value_string: String @deprecated(reason : "Use AggregationOption.value instead.") } "The tax item details" type TaxItem { - "The amount of tax applied to the item" - amount: Money! - "The rate used to calculate the tax" - rate: Float! - "A title that describes the tax" - title: String! + "The amount of tax applied to the item" + amount: Money! + "The rate used to calculate the tax" + rate: Float! + "A title that describes the tax" + title: String! } type TextSwatchData implements SwatchDataInterface { - "Value of swatch item (HEX color code, image link or textual value)" - value: String + "Value of swatch item (HEX color code, image link or textual value)" + value: String } "A price based on the quantity purchased." type TierPrice { - "The price discount that this tier represents." - discount: ProductDiscount - final_price: Money - "The minimum number of items that must be purchased to qualify for this price tier." - quantity: Float + "The price discount that this tier represents." + discount: ProductDiscount + final_price: Money + "The minimum number of items that must be purchased to qualify for this price tier." + quantity: Float +} + +type TrackingData { + "Is Page Tracking enabled" + page_tracking_enabled: Boolean + "dotdigital region prefix" + region_prefix: String + "Is ROI Tracking enabled" + roi_tracking_enabled: Boolean + "Web Behaviour Tracking profile ID" + wbt_profile_id: String } type UpdateCartItemsOutput { - cart: Cart! + cart: Cart! } "Contains the customer's wish list and any errors encountered" type UpdateProductsInWishlistOutput { - "An array of errors encountered while updating products in a wish list" - user_errors: [WishListUserInputError]! - "Contains the wish list with all items that were successfully updated" - wishlist: Wishlist! + "An array of errors encountered while updating products in a wish list" + user_errors: [WishListUserInputError]! + "Contains the wish list with all items that were successfully updated" + wishlist: Wishlist! } "The object contains URL rewrite details" type UrlRewrite { - "Request parameters" - parameters: [HttpQueryParameter] - "Request URL" - url: String + "Request parameters" + parameters: [HttpQueryParameter] + "Request URL" + url: String } "Virtual Cart Item" type VirtualCartItem implements CartItemInterface { - customizable_options: [SelectedCustomizableOption]! - id: String! @deprecated(reason : "Use `uid` instead") - prices: CartItemPrices - product: ProductInterface! - quantity: Float! - "The unique ID for a `CartItemInterface` object" - uid: ID! -} - -"A virtual product is non-tangible product that does not require shipping and is not kept in inventory." -type VirtualProduct implements CustomizableProductInterface & ProductInterface { - "The attribute set assigned to the product." - attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" - canonical_url: String - "The categories assigned to a product." - categories: [CategoryInterface] - color: Int - "The product's country of origin." - country_of_manufacture: String - "Timestamp indicating when the product was created." - created_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Crosssell Products" - crosssell_products: [ProductInterface] - "Detailed information about the product. The value can include simple HTML tags." - description: ComplexTextValue - "Indicates whether a gift message is available." - gift_message_available: String - "The ID number assigned to the product." - id: Int @deprecated(reason : "Use the `uid` field instead.") - "The relative path to the main image on the product page." - image: ProductImage - "A number representing the product's manufacturer." - manufacturer: Int - "An array of Media Gallery objects." - media_gallery: [MediaGalleryInterface] - "An array of MediaGalleryEntry objects." - media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: String - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: String - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: String - "The product name. Customers use this name to identify the product." - name: String - "The beginning date for new product listings, and determines if the product is featured as a new product." - new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The end date for new product listings." - new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") - "Product stock only x left count" - only_x_left_in_stock: Float - "An array of options for a customizable product." - options: [CustomizableOptionInterface] - "If the product has multiple options, determines where they appear on the product page." - options_container: String - "A ProductPrices object, indicating the price of an item." - price: ProductPrices @deprecated(reason : "Use price_range for product price information.") - "A PriceRange object, indicating the range of prices for the product" - price_range: PriceRange! - "An array of TierPrice objects." - price_tiers: [TierPrice] - "An array of ProductLinks objects." - product_links: [ProductLinksInterface] - "The average of all the ratings given to the product." - rating_summary: Float! - "Related Products" - related_products: [ProductInterface] - "The total count of all the reviews given to the product." - review_count: Int! - "The list of products reviews." - reviews( - "Specifies which page of results to return." - currentPage: Int = 1, - "Specifies the maximum number of results to return at once." - pageSize: Int = 20 - ): ProductReviews! - "A short description of the product. Its use depends on the theme." - short_description: ComplexTextValue - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: String - "The relative path to the small image, which is used on catalog pages." - small_image: ProductImage - "The beginning date that a product has a special price." - special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") - "The discounted price of the product." - special_price: Float - "The end date that a product has a special price." - special_to_date: String - "Stock status of the product" - stock_status: ProductStockStatus - "The file name of a swatch image" - swatch_image: String - "The relative path to the product's thumbnail image." - thumbnail: ProductImage - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") - "An array of ProductTierPrices objects." - tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") - "One of simple, virtual, bundle, downloadable, grouped, or configurable." - type_id: String @deprecated(reason : "Use __typename instead.") - "The unique ID for a `ProductInterface` object." - uid: ID! - "Timestamp indicating when the product was updated." - updated_at: String @deprecated(reason : "The field should not be used on the storefront.") - "Upsell Products" - upsell_products: [ProductInterface] - "The part of the URL that identifies the product" - url_key: String - url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") - "URL rewrites list" - url_rewrites: [UrlRewrite] - "The part of the product URL that is appended after the url key" - url_suffix: String - "An array of websites in which the product is available." - websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") + customizable_options: [SelectedCustomizableOption]! + id: String! @deprecated(reason : "Use `uid` instead") + prices: CartItemPrices + product: ProductInterface! + quantity: Float! + "The unique ID for a `CartItemInterface` object" + uid: ID! +} + +"A virtual product is a non-tangible product that does not require shipping and is not kept in inventory" +type VirtualProduct implements CustomizableProductInterface & ProductInterface & RoutableInterface { + activity: String + "The attribute set assigned to the product." + attribute_set_id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Products' is enabled" + canonical_url: String + "The categories assigned to a product." + categories: [CategoryInterface] + category_gear: String + climate: String + collar: String + color: Int + "The product's country of origin." + country_of_manufacture: String + "Timestamp indicating when the product was created." + created_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Crosssell Products" + crosssell_products: [ProductInterface] + "Detailed information about the product. The value can include simple HTML tags." + description: ComplexTextValue + eco_collection: Int + erin_recommends: Int + features_bags: String + format: Int + gender: String + "Indicates whether a gift message is available." + gift_message_available: String + "The ID number assigned to the product." + id: Int @deprecated(reason : "Use the `uid` field instead.") + "The relative path to the main image on the product page." + image: ProductImage + "A number representing the product's manufacturer." + manufacturer: Int + material: String + "An array of Media Gallery objects." + media_gallery: [MediaGalleryInterface] + "An array of MediaGalleryEntry objects." + media_gallery_entries: [MediaGalleryEntry] @deprecated(reason : "Use product's `media_gallery` instead") + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: String + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: String + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: String + "The product name. Customers use this name to identify the product." + name: String + new: Int + "The beginning date for new product listings, and determines if the product is featured as a new product." + new_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The end date for new product listings." + new_to_date: String @deprecated(reason : "The field should not be used on the storefront.") + "Product stock only x left count" + only_x_left_in_stock: Float + "An array of options for a customizable product." + options: [CustomizableOptionInterface] + "If the product has multiple options, determines where they appear on the product page." + options_container: String + pattern: String + performance_fabric: Int + "A ProductPrices object, indicating the price of an item." + price: ProductPrices @deprecated(reason : "Use price_range for product price information.") + "A PriceRange object, indicating the range of prices for the product" + price_range: PriceRange! + "An array of TierPrice objects." + price_tiers: [TierPrice] + "An array of ProductLinks objects." + product_links: [ProductLinksInterface] + "The average of all the ratings given to the product." + rating_summary: Float! + "Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect" + redirect_code: Int! + "Related Products" + related_products: [ProductInterface] + "The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original" + relative_url: String + "The total count of all the reviews given to the product." + review_count: Int! + "The list of products reviews." + reviews( + "Specifies which page of results to return." + currentPage: Int = 1, + "Specifies the maximum number of results to return at once." + pageSize: Int = 20 + ): ProductReviews! + sale: Int + "A short description of the product. Its use depends on the theme." + short_description: ComplexTextValue + size: Int + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: String + sleeve: String + "The relative path to the small image, which is used on catalog pages." + small_image: ProductImage + "The beginning date that a product has a special price." + special_from_date: String @deprecated(reason : "The field should not be used on the storefront.") + "The discounted price of the product." + special_price: Float + "The end date that a product has a special price." + special_to_date: String + "Stock status of the product" + stock_status: ProductStockStatus + strap_bags: String + style_bags: String + style_bottom: String + style_general: String + "The file name of a swatch image" + swatch_image: String + "The relative path to the product's thumbnail image." + thumbnail: ProductImage + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: Float @deprecated(reason : "Use price_tiers for product tier price information.") + "An array of ProductTierPrices objects." + tier_prices: [ProductTierPrices] @deprecated(reason : "Use price_tiers for product tier price information.") + "One of PRODUCT, CATEGORY, or CMS_PAGE." + type: UrlRewriteEntityTypeEnum + "One of simple, virtual, bundle, downloadable, grouped, or configurable." + type_id: String @deprecated(reason : "Use __typename instead.") + "The unique ID for a `ProductInterface` object." + uid: ID! + "Timestamp indicating when the product was updated." + updated_at: String @deprecated(reason : "The field should not be used on the storefront.") + "Upsell Products" + upsell_products: [ProductInterface] + "The part of the URL that identifies the product" + url_key: String + url_path: String @deprecated(reason : "Use product's `canonical_url` or url rewrites instead") + "URL rewrites list" + url_rewrites: [UrlRewrite] + "The part of the product URL that is appended after the url key" + url_suffix: String + "An array of websites in which the product is available." + websites: [Website] @deprecated(reason : "The field should not be used on the storefront.") } "A virtual product wish list item" type VirtualWishlistItem implements WishlistItemInterface { - "The date and time the item was added to the wish list" - added_at: String! - "Custom options selected for the wish list item" - customizable_options: [SelectedCustomizableOption]! - "The description of the item" - description: String - "The unique ID for a `WishlistItemInterface` object" - id: ID! - "Product details of the wish list item" - product: ProductInterface - "The quantity of this wish list item" - quantity: Float! + "The date and time the item was added to the wish list" + added_at: String! + "Custom options selected for the wish list item" + customizable_options: [SelectedCustomizableOption]! + "The description of the item" + description: String + "The unique ID for a `WishlistItemInterface` object" + id: ID! + "Product details of the wish list item" + product: ProductInterface + "The quantity of this wish list item" + quantity: Float! } "Website is deprecated because it is should not be used on storefront. The type contains information about a website" type Website { - "A code assigned to the website to identify it" - code: String @deprecated(reason : "The field should not be used on the storefront.") - "The default group ID that the website has" - default_group_id: String @deprecated(reason : "The field should not be used on the storefront.") - "The ID number assigned to the website" - id: Int @deprecated(reason : "The field should not be used on the storefront.") - "Specifies if this is the default website" - is_default: Boolean @deprecated(reason : "The field should not be used on the storefront.") - "The website name. Websites use this name to identify it easier." - name: String @deprecated(reason : "The field should not be used on the storefront.") - "The attribute to use for sorting websites" - sort_order: Int @deprecated(reason : "The field should not be used on the storefront.") + "A code assigned to the website to identify it" + code: String @deprecated(reason : "The field should not be used on the storefront.") + "The default group ID that the website has" + default_group_id: String @deprecated(reason : "The field should not be used on the storefront.") + "The ID number assigned to the website" + id: Int @deprecated(reason : "The field should not be used on the storefront.") + "Specifies if this is the default website" + is_default: Boolean @deprecated(reason : "The field should not be used on the storefront.") + "The website name. Websites use this name to identify it easier." + name: String @deprecated(reason : "The field should not be used on the storefront.") + "The attribute to use for sorting websites" + sort_order: Int @deprecated(reason : "The field should not be used on the storefront.") } "An error encountered while performing operations with WishList." type WishListUserInputError { - "Wishlist-specific error code" - code: WishListUserInputErrorType! - "A localized error message" - message: String! + "Wishlist-specific error code" + code: WishListUserInputErrorType! + "A localized error message" + message: String! } type Wishlist { - "The unique ID for a `Wishlist` object" - id: ID - items: [WishlistItem] @deprecated(reason : "Use field `items_v2` from type `Wishlist` instead") - "The number of items in the wish list" - items_count: Int - "An array of items in the customer's wish list" - items_v2(currentPage: Int = 1, pageSize: Int = 20): WishlistItems - "An encrypted code that Magento uses to link to the wish list" - sharing_code: String - "The time of the last modification to the wish list" - updated_at: String + "The unique ID for a `Wishlist` object" + id: ID + items: [WishlistItem] @deprecated(reason : "Use field `items_v2` from type `Wishlist` instead") + "The number of items in the wish list" + items_count: Int + "An array of items in the customer's wish list" + items_v2(currentPage: Int = 1, pageSize: Int = 20): WishlistItems + "An encrypted code that Magento uses to link to the wish list" + sharing_code: String + "The time of the last modification to the wish list" + updated_at: String +} + +type WishlistCartUserInputError { + "An error code that describes the error encountered" + code: WishlistCartUserInputErrorType! + "A localized error message" + message: String! + "The unique ID of the `Wishlist` object containing an error" + wishlistId: ID! + "The unique ID of the wish list item containing an error" + wishlistItemId: ID! } type WishlistItem { - "The time when the customer added the item to the wish list" - added_at: String - "The customer's comment about this item" - description: String - "The unique ID for a `WishlistItem` object" - id: Int - product: ProductInterface - "The quantity of this wish list item" - qty: Float + "The time when the customer added the item to the wish list" + added_at: String + "The customer's comment about this item" + description: String + "The unique ID for a `WishlistItem` object" + id: Int + product: ProductInterface + "The quantity of this wish list item" + qty: Float } type WishlistItems { - "A list of items in the wish list" - items: [WishlistItemInterface]! - "Contains pagination metadata" - page_info: SearchResultPageInfo + "A list of items in the wish list" + items: [WishlistItemInterface]! + "Contains pagination metadata" + page_info: SearchResultPageInfo } "Deprecated: `Wishlist` type should be used instead" type WishlistOutput { - "An array of items in the customer's wish list" - items: [WishlistItem] @deprecated(reason : "Use field `items` from type `Wishlist` instead") - "The number of items in the wish list" - items_count: Int @deprecated(reason : "Use field `items_count` from type `Wishlist` instead") - "When multiple wish lists are enabled, the name the customer assigns to the wishlist" - name: String @deprecated(reason : "This field is related to Commerce functionality and is always `null` in Open Source edition") - "An encrypted code that Magento uses to link to the wish list" - sharing_code: String @deprecated(reason : "Use field `sharing_code` from type `Wishlist` instead") - "The time of the last modification to the wish list" - updated_at: String @deprecated(reason : "Use field `updated_at` from type `Wishlist` instead") + "An array of items in the customer's wish list" + items: [WishlistItem] @deprecated(reason : "Use field `items` from type `Wishlist` instead") + "The number of items in the wish list" + items_count: Int @deprecated(reason : "Use field `items_count` from type `Wishlist` instead") + "When multiple wish lists are enabled, the name the customer assigns to the wishlist" + name: String @deprecated(reason : "This field is related to Commerce functionality and is always `null` in Open Source edition") + "An encrypted code that Magento uses to link to the wish list" + sharing_code: String @deprecated(reason : "Use field `sharing_code` from type `Wishlist` instead") + "The time of the last modification to the wish list" + updated_at: String @deprecated(reason : "Use field `updated_at` from type `Wishlist` instead") } type createKlarnaPaymentsSessionOutput { - "The payment method client token" - client_token: String - "The payment method categories" - payment_method_categories: [Categories] + "The payment method client token" + client_token: String + "The payment method categories" + payment_method_categories: [Categories] } enum CartUserInputErrorType { - INSUFFICIENT_STOCK - NOT_SALABLE - PRODUCT_NOT_FOUND - UNDEFINED + INSUFFICIENT_STOCK + NOT_SALABLE + PRODUCT_NOT_FOUND + UNDEFINED } enum CheckoutAgreementMode { - AUTO - MANUAL + AUTO + MANUAL } enum CheckoutUserInputErrorCodes { - INSUFFICIENT_STOCK - NOT_SALABLE - PRODUCT_NOT_FOUND - REORDER_NOT_AVAILABLE - UNDEFINED + INSUFFICIENT_STOCK + NOT_SALABLE + PRODUCT_NOT_FOUND + REORDER_NOT_AVAILABLE + UNDEFINED } "The list of countries codes" enum CountryCodeEnum { - "Andorra" - AD - "United Arab Emirates" - AE - "Afghanistan" - AF - "Antigua & Barbuda" - AG - "Anguilla" - AI - "Albania" - AL - "Armenia" - AM - "Netherlands Antilles" - AN - "Angola" - AO - "Antarctica" - AQ - "Argentina" - AR - "American Samoa" - AS - "Austria" - AT - "Australia" - AU - "Aruba" - AW - "Åland Islands" - AX - "Azerbaijan" - AZ - "Bosnia & Herzegovina" - BA - "Barbados" - BB - "Bangladesh" - BD - "Belgium" - BE - "Burkina Faso" - BF - "Bulgaria" - BG - "Bahrain" - BH - "Burundi" - BI - "Benin" - BJ - "St. Barthélemy" - BL - "Bermuda" - BM - "Brunei" - BN - "Bolivia" - BO - "Brazil" - BR - "Bahamas" - BS - "Bhutan" - BT - "Bouvet Island" - BV - "Botswana" - BW - "Belarus" - BY - "Belize" - BZ - "Canada" - CA - "Cocos (Keeling) Islands" - CC - "Congo-Kinshasa" - CD - "Central African Republic" - CF - "Congo-Brazzaville" - CG - "Switzerland" - CH - "Côte d’Ivoire" - CI - "Cook Islands" - CK - "Chile" - CL - "Cameroon" - CM - "China" - CN - "Colombia" - CO - "Costa Rica" - CR - "Cuba" - CU - "Cape Verde" - CV - "Christmas Island" - CX - "Cyprus" - CY - "Czech Republic" - CZ - "Germany" - DE - "Djibouti" - DJ - "Denmark" - DK - "Dominica" - DM - "Dominican Republic" - DO - "Algeria" - DZ - "Ecuador" - EC - "Estonia" - EE - "Egypt" - EG - "Western Sahara" - EH - "Eritrea" - ER - "Spain" - ES - "Ethiopia" - ET - "Finland" - FI - "Fiji" - FJ - "Falkland Islands" - FK - "Micronesia" - FM - "Faroe Islands" - FO - "France" - FR - "Gabon" - GA - "United Kingdom" - GB - "Grenada" - GD - "Georgia" - GE - "French Guiana" - GF - "Guernsey" - GG - "Ghana" - GH - "Gibraltar" - GI - "Greenland" - GL - "Gambia" - GM - "Guinea" - GN - "Guadeloupe" - GP - "Equatorial Guinea" - GQ - "Greece" - GR - "South Georgia & South Sandwich Islands" - GS - "Guatemala" - GT - "Guam" - GU - "Guinea-Bissau" - GW - "Guyana" - GY - "Hong Kong SAR China" - HK - "Heard & McDonald Islands" - HM - "Honduras" - HN - "Croatia" - HR - "Haiti" - HT - "Hungary" - HU - "Indonesia" - ID - "Ireland" - IE - "Israel" - IL - "Isle of Man" - IM - "India" - IN - "British Indian Ocean Territory" - IO - "Iraq" - IQ - "Iran" - IR - "Iceland" - IS - "Italy" - IT - "Jersey" - JE - "Jamaica" - JM - "Jordan" - JO - "Japan" - JP - "Kenya" - KE - "Kyrgyzstan" - KG - "Cambodia" - KH - "Kiribati" - KI - "Comoros" - KM - "St. Kitts & Nevis" - KN - "North Korea" - KP - "South Korea" - KR - "Kuwait" - KW - "Cayman Islands" - KY - "Kazakhstan" - KZ - "Laos" - LA - "Lebanon" - LB - "St. Lucia" - LC - "Liechtenstein" - LI - "Sri Lanka" - LK - "Liberia" - LR - "Lesotho" - LS - "Lithuania" - LT - "Luxembourg" - LU - "Latvia" - LV - "Libya" - LY - "Morocco" - MA - "Monaco" - MC - "Moldova" - MD - "Montenegro" - ME - "St. Martin" - MF - "Madagascar" - MG - "Marshall Islands" - MH - "Macedonia" - MK - "Mali" - ML - "Myanmar (Burma)" - MM - "Mongolia" - MN - "Macau SAR China" - MO - "Northern Mariana Islands" - MP - "Martinique" - MQ - "Mauritania" - MR - "Montserrat" - MS - "Malta" - MT - "Mauritius" - MU - "Maldives" - MV - "Malawi" - MW - "Mexico" - MX - "Malaysia" - MY - "Mozambique" - MZ - "Namibia" - NA - "New Caledonia" - NC - "Niger" - NE - "Norfolk Island" - NF - "Nigeria" - NG - "Nicaragua" - NI - "Netherlands" - NL - "Norway" - NO - "Nepal" - NP - "Nauru" - NR - "Niue" - NU - "New Zealand" - NZ - "Oman" - OM - "Panama" - PA - "Peru" - PE - "French Polynesia" - PF - "Papua New Guinea" - PG - "Philippines" - PH - "Pakistan" - PK - "Poland" - PL - "St. Pierre & Miquelon" - PM - "Pitcairn Islands" - PN - "Palestinian Territories" - PS - "Portugal" - PT - "Palau" - PW - "Paraguay" - PY - "Qatar" - QA - "Réunion" - RE - "Romania" - RO - "Serbia" - RS - "Russia" - RU - "Rwanda" - RW - "Saudi Arabia" - SA - "Solomon Islands" - SB - "Seychelles" - SC - "Sudan" - SD - "Sweden" - SE - "Singapore" - SG - "St. Helena" - SH - "Slovenia" - SI - "Svalbard & Jan Mayen" - SJ - "Slovakia" - SK - "Sierra Leone" - SL - "San Marino" - SM - "Senegal" - SN - "Somalia" - SO - "Suriname" - SR - "São Tomé & Príncipe" - ST - "El Salvador" - SV - "Syria" - SY - "Swaziland" - SZ - "Turks & Caicos Islands" - TC - "Chad" - TD - "French Southern Territories" - TF - "Togo" - TG - "Thailand" - TH - "Tajikistan" - TJ - "Tokelau" - TK - "Timor-Leste" - TL - "Turkmenistan" - TM - "Tunisia" - TN - "Tonga" - TO - "Turkey" - TR - "Trinidad & Tobago" - TT - "Tuvalu" - TV - "Taiwan" - TW - "Tanzania" - TZ - "Ukraine" - UA - "Uganda" - UG - "U.S. Outlying Islands" - UM - "United States" - US - "Uruguay" - UY - "Uzbekistan" - UZ - "Vatican City" - VA - "St. Vincent & Grenadines" - VC - "Venezuela" - VE - "British Virgin Islands" - VG - "U.S. Virgin Islands" - VI - "Vietnam" - VN - "Vanuatu" - VU - "Wallis & Futuna" - WF - "Samoa" - WS - "Yemen" - YE - "Mayotte" - YT - "South Africa" - ZA - "Zambia" - ZM - "Zimbabwe" - ZW + "Andorra" + AD + "United Arab Emirates" + AE + "Afghanistan" + AF + "Antigua & Barbuda" + AG + "Anguilla" + AI + "Albania" + AL + "Armenia" + AM + "Netherlands Antilles" + AN + "Angola" + AO + "Antarctica" + AQ + "Argentina" + AR + "American Samoa" + AS + "Austria" + AT + "Australia" + AU + "Aruba" + AW + "Åland Islands" + AX + "Azerbaijan" + AZ + "Bosnia & Herzegovina" + BA + "Barbados" + BB + "Bangladesh" + BD + "Belgium" + BE + "Burkina Faso" + BF + "Bulgaria" + BG + "Bahrain" + BH + "Burundi" + BI + "Benin" + BJ + "St. Barthélemy" + BL + "Bermuda" + BM + "Brunei" + BN + "Bolivia" + BO + "Brazil" + BR + "Bahamas" + BS + "Bhutan" + BT + "Bouvet Island" + BV + "Botswana" + BW + "Belarus" + BY + "Belize" + BZ + "Canada" + CA + "Cocos (Keeling) Islands" + CC + "Congo-Kinshasa" + CD + "Central African Republic" + CF + "Congo-Brazzaville" + CG + "Switzerland" + CH + "Côte d’Ivoire" + CI + "Cook Islands" + CK + "Chile" + CL + "Cameroon" + CM + "China" + CN + "Colombia" + CO + "Costa Rica" + CR + "Cuba" + CU + "Cape Verde" + CV + "Christmas Island" + CX + "Cyprus" + CY + "Czech Republic" + CZ + "Germany" + DE + "Djibouti" + DJ + "Denmark" + DK + "Dominica" + DM + "Dominican Republic" + DO + "Algeria" + DZ + "Ecuador" + EC + "Estonia" + EE + "Egypt" + EG + "Western Sahara" + EH + "Eritrea" + ER + "Spain" + ES + "Ethiopia" + ET + "Finland" + FI + "Fiji" + FJ + "Falkland Islands" + FK + "Micronesia" + FM + "Faroe Islands" + FO + "France" + FR + "Gabon" + GA + "United Kingdom" + GB + "Grenada" + GD + "Georgia" + GE + "French Guiana" + GF + "Guernsey" + GG + "Ghana" + GH + "Gibraltar" + GI + "Greenland" + GL + "Gambia" + GM + "Guinea" + GN + "Guadeloupe" + GP + "Equatorial Guinea" + GQ + "Greece" + GR + "South Georgia & South Sandwich Islands" + GS + "Guatemala" + GT + "Guam" + GU + "Guinea-Bissau" + GW + "Guyana" + GY + "Hong Kong SAR China" + HK + "Heard & McDonald Islands" + HM + "Honduras" + HN + "Croatia" + HR + "Haiti" + HT + "Hungary" + HU + "Indonesia" + ID + "Ireland" + IE + "Israel" + IL + "Isle of Man" + IM + "India" + IN + "British Indian Ocean Territory" + IO + "Iraq" + IQ + "Iran" + IR + "Iceland" + IS + "Italy" + IT + "Jersey" + JE + "Jamaica" + JM + "Jordan" + JO + "Japan" + JP + "Kenya" + KE + "Kyrgyzstan" + KG + "Cambodia" + KH + "Kiribati" + KI + "Comoros" + KM + "St. Kitts & Nevis" + KN + "North Korea" + KP + "South Korea" + KR + "Kuwait" + KW + "Cayman Islands" + KY + "Kazakhstan" + KZ + "Laos" + LA + "Lebanon" + LB + "St. Lucia" + LC + "Liechtenstein" + LI + "Sri Lanka" + LK + "Liberia" + LR + "Lesotho" + LS + "Lithuania" + LT + "Luxembourg" + LU + "Latvia" + LV + "Libya" + LY + "Morocco" + MA + "Monaco" + MC + "Moldova" + MD + "Montenegro" + ME + "St. Martin" + MF + "Madagascar" + MG + "Marshall Islands" + MH + "Macedonia" + MK + "Mali" + ML + "Myanmar (Burma)" + MM + "Mongolia" + MN + "Macau SAR China" + MO + "Northern Mariana Islands" + MP + "Martinique" + MQ + "Mauritania" + MR + "Montserrat" + MS + "Malta" + MT + "Mauritius" + MU + "Maldives" + MV + "Malawi" + MW + "Mexico" + MX + "Malaysia" + MY + "Mozambique" + MZ + "Namibia" + NA + "New Caledonia" + NC + "Niger" + NE + "Norfolk Island" + NF + "Nigeria" + NG + "Nicaragua" + NI + "Netherlands" + NL + "Norway" + NO + "Nepal" + NP + "Nauru" + NR + "Niue" + NU + "New Zealand" + NZ + "Oman" + OM + "Panama" + PA + "Peru" + PE + "French Polynesia" + PF + "Papua New Guinea" + PG + "Philippines" + PH + "Pakistan" + PK + "Poland" + PL + "St. Pierre & Miquelon" + PM + "Pitcairn Islands" + PN + "Palestinian Territories" + PS + "Portugal" + PT + "Palau" + PW + "Paraguay" + PY + "Qatar" + QA + "Réunion" + RE + "Romania" + RO + "Serbia" + RS + "Russia" + RU + "Rwanda" + RW + "Saudi Arabia" + SA + "Solomon Islands" + SB + "Seychelles" + SC + "Sudan" + SD + "Sweden" + SE + "Singapore" + SG + "St. Helena" + SH + "Slovenia" + SI + "Svalbard & Jan Mayen" + SJ + "Slovakia" + SK + "Sierra Leone" + SL + "San Marino" + SM + "Senegal" + SN + "Somalia" + SO + "Suriname" + SR + "São Tomé & Príncipe" + ST + "El Salvador" + SV + "Syria" + SY + "Swaziland" + SZ + "Turks & Caicos Islands" + TC + "Chad" + TD + "French Southern Territories" + TF + "Togo" + TG + "Thailand" + TH + "Tajikistan" + TJ + "Tokelau" + TK + "Timor-Leste" + TL + "Turkmenistan" + TM + "Tunisia" + TN + "Tonga" + TO + "Turkey" + TR + "Trinidad & Tobago" + TT + "Tuvalu" + TV + "Taiwan" + TW + "Tanzania" + TZ + "Ukraine" + UA + "Uganda" + UG + "U.S. Outlying Islands" + UM + "United States" + US + "Uruguay" + UY + "Uzbekistan" + UZ + "Vatican City" + VA + "St. Vincent & Grenadines" + VC + "Venezuela" + VE + "British Virgin Islands" + VG + "U.S. Virgin Islands" + VI + "Vietnam" + VN + "Vanuatu" + VU + "Wallis & Futuna" + WF + "Samoa" + WS + "Yemen" + YE + "Mayotte" + YT + "South Africa" + ZA + "Zambia" + ZM + "Zimbabwe" + ZW } "The list of available currency codes" enum CurrencyEnum { - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZM - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BUK - BWP - BYN - BZD - CAD - CDF - CHE - CHF - CHW - CLP - CNY - COP - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEK - GEL - GHS - GIP - GMD - GNF - GQE - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LSM - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIC - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RHD - ROL - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SKK - SLL - SOS - SRD - STD - SVC - SYP - SZL - THB - TJS - TMM - TND - TOP - TRL - TRY - TTD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VEB - VEF - VND - VUV - WST - XCD - XOF - XPF - YER - YTL - ZAR - ZMK - ZWD + AED + AFN + ALL + AMD + ANG + AOA + ARS + AUD + AWG + AZM + AZN + BAM + BBD + BDT + BGN + BHD + BIF + BMD + BND + BOB + BRL + BSD + BTN + BUK + BWP + BYN + BZD + CAD + CDF + CHE + CHF + CHW + CLP + CNY + COP + CRC + CUP + CVE + CZK + DJF + DKK + DOP + DZD + EEK + EGP + ERN + ETB + EUR + FJD + FKP + GBP + GEK + GEL + GHS + GIP + GMD + GNF + GQE + GTQ + GYD + HKD + HNL + HRK + HTG + HUF + IDR + ILS + INR + IQD + IRR + ISK + JMD + JOD + JPY + KES + KGS + KHR + KMF + KPW + KRW + KWD + KYD + KZT + LAK + LBP + LKR + LRD + LSL + LSM + LTL + LVL + LYD + MAD + MDL + MGA + MKD + MMK + MNT + MOP + MRO + MUR + MVR + MWK + MXN + MYR + MZN + NAD + NGN + NIC + NOK + NPR + NZD + OMR + PAB + PEN + PGK + PHP + PKR + PLN + PYG + QAR + RHD + ROL + RON + RSD + RUB + RWF + SAR + SBD + SCR + SDG + SEK + SGD + SHP + SKK + SLL + SOS + SRD + STD + SVC + SYP + SZL + THB + TJS + TMM + TND + TOP + TRL + TRY + TTD + TWD + TZS + UAH + UGX + USD + UYU + UZS + VEB + VEF + VND + VUV + WST + XCD + XOF + XPF + YER + YTL + ZAR + ZMK + ZWD +} + +"This enumeration customizable date type." +enum CustomizableDateTypeEnum { + DATE + DATE_TIME + TIME } enum DownloadableFileTypeEnum { - FILE @deprecated(reason : "`sample_url` serves to get the downloadable sample") - URL @deprecated(reason : "`sample_url` serves to get the downloadable sample") + FILE @deprecated(reason : "`sample_url` serves to get the downloadable sample") + URL @deprecated(reason : "`sample_url` serves to get the downloadable sample") } "This enumeration display settings for the fixed product tax" enum FixedProductTaxDisplaySettings { - "The displayed price does not include the FPT amount. The values of ProductPrice.fixed_product_taxes and the price including the FPT are displayed separately. This value corresponds to 'Excluding FPT, Including FPT description and final price'" - EXCLUDE_FPT_AND_INCLUDE_WITH_DETAILS - "The displayed price does not include the FPT amount. The values from ProductPrice.fixed_product_taxes are not displayed. This value corresponds to 'Excluding FPT'" - EXCLUDE_FPT_WITHOUT_DETAILS - "The FPT feature is not enabled. You can omit ProductPrice.fixed_product_taxes from your query" - FPT_DISABLED - "The displayed price includes the FPT amount without displaying the ProductPrice.fixed_product_taxes values. This value corresponds to 'Including FPT only'" - INCLUDE_FPT_WITHOUT_DETAILS - "The displayed price includes the FPT amount while displaying the values of ProductPrice.fixed_product_taxes separately. This value corresponds to 'Including FPT and FPT description'" - INCLUDE_FPT_WITH_DETAILS + "The displayed price does not include the FPT amount. The values of ProductPrice.fixed_product_taxes and the price including the FPT are displayed separately. This value corresponds to 'Excluding FPT, Including FPT description and final price'" + EXCLUDE_FPT_AND_INCLUDE_WITH_DETAILS + "The displayed price does not include the FPT amount. The values from ProductPrice.fixed_product_taxes are not displayed. This value corresponds to 'Excluding FPT'" + EXCLUDE_FPT_WITHOUT_DETAILS + "The FPT feature is not enabled. You can omit ProductPrice.fixed_product_taxes from your query" + FPT_DISABLED + "The displayed price includes the FPT amount without displaying the ProductPrice.fixed_product_taxes values. This value corresponds to 'Including FPT only'" + INCLUDE_FPT_WITHOUT_DETAILS + "The displayed price includes the FPT amount while displaying the values of ProductPrice.fixed_product_taxes separately. This value corresponds to 'Including FPT and FPT description'" + INCLUDE_FPT_WITH_DETAILS } "Mode for payment: TEST or LIVE. Applies to Payflow Link and Payments Advanced payment methods." enum PayflowLinkMode { - LIVE - TEST + LIVE + TEST } "The list of available payment token types" enum PaymentTokenTypeEnum { - account - card + account + card } "PriceAdjustment.code is deprecated. This enumeration contains values defined in modules other than the Catalog module." enum PriceAdjustmentCodesEnum { - TAX @deprecated(reason : "PriceAdjustmentCodesEnum is deprecated. Tax is included or excluded in price. Tax is not shown separtely in Catalog") - WEEE @deprecated(reason : "WEEE code is deprecated, use fixed_product_taxes.label") - WEEE_TAX @deprecated(reason : "Use fixed_product_taxes. PriceAdjustmentCodesEnum is deprecated. Tax is included or excluded in price. Tax is not shown separtely in Catalog") + TAX @deprecated(reason : "PriceAdjustmentCodesEnum is deprecated. Tax is included or excluded in price. Tax is not shown separtely in Catalog") + WEEE @deprecated(reason : "WEEE code is deprecated, use fixed_product_taxes.label") + WEEE_TAX @deprecated(reason : "Use fixed_product_taxes. PriceAdjustmentCodesEnum is deprecated. Tax is included or excluded in price. Tax is not shown separtely in Catalog") } "PriceAdjustmentDescriptionEnum is deprecated. This enumeration states whether a price adjustment is included or excluded." enum PriceAdjustmentDescriptionEnum { - EXCLUDED - INCLUDED + EXCLUDED + INCLUDED } "This enumeration the price type." enum PriceTypeEnum { - DYNAMIC - FIXED - PERCENT + DYNAMIC + FIXED + PERCENT } "This enumeration defines whether a bundle product's price is displayed as the lowest possible value or as a range." enum PriceViewEnum { - AS_LOW_AS - PRICE_RANGE + AS_LOW_AS + PRICE_RANGE } "This enumeration states whether a product stock status is in stock or out of stock" enum ProductStockStatus { - IN_STOCK - OUT_OF_STOCK + IN_STOCK + OUT_OF_STOCK } "This enumeration defines whether bundle items must be shipped together." enum ShipBundleItemsEnum { - SEPARATELY - TOGETHER + SEPARATELY + TOGETHER } "This enumeration indicates whether to return results in ascending or descending order" enum SortEnum { - ASC - DESC + ASC + DESC } enum SubscriptionStatusesEnum { - NOT_ACTIVE - SUBSCRIBED - UNCONFIRMED - UNSUBSCRIBED + NOT_ACTIVE + SUBSCRIBED + UNCONFIRMED + UNSUBSCRIBED } "This enumeration defines the entity type." enum UrlRewriteEntityTypeEnum { - CATEGORY - CMS_PAGE - PRODUCT + CATEGORY + CMS_PAGE + PRODUCT +} + +enum UseInLayeredNavigationOptions { + FILTERABLE_NO_RESULT + FILTERABLE_WITH_RESULTS + NO } enum WishListUserInputErrorType { - PRODUCT_NOT_FOUND - UNDEFINED + PRODUCT_NOT_FOUND + UNDEFINED +} + +enum WishlistCartUserInputErrorType { + INSUFFICIENT_STOCK + NOT_SALABLE + PRODUCT_NOT_FOUND + UNDEFINED } input AddBundleProductsToCartInput { - cart_id: String! - cart_items: [BundleProductCartItemInput]! + cart_id: String! + cart_items: [BundleProductCartItemInput]! } input AddConfigurableProductsToCartInput { - cart_id: String! - cart_items: [ConfigurableProductCartItemInput]! + cart_id: String! + cart_items: [ConfigurableProductCartItemInput]! } input AddDownloadableProductsToCartInput { - cart_id: String! - cart_items: [DownloadableProductCartItemInput]! + cart_id: String! + cart_items: [DownloadableProductCartItemInput]! } input AddProductsToCompareListInput { - "An array of product IDs to add to the compare list" - products: [ID]! - "The unique identifier of the compare list to modify" - uid: ID! + "An array of product IDs to add to the compare list" + products: [ID]! + "The unique identifier of the compare list to modify" + uid: ID! } input AddSimpleProductsToCartInput { - cart_id: String! - cart_items: [SimpleProductCartItemInput]! + cart_id: String! + cart_items: [SimpleProductCartItemInput]! } input AddVirtualProductsToCartInput { - cart_id: String! - cart_items: [VirtualProductCartItemInput]! + cart_id: String! + cart_items: [VirtualProductCartItemInput]! } input ApplyCouponToCartInput { - cart_id: String! - coupon_code: String! + cart_id: String! + coupon_code: String! } "AreaInput defines the parameters which will be used for filter by specified location." input AreaInput { - "The radius for the search in KM." - radius: Int! - "The country code where search must be performed. Required parameter together with region, city or postcode." - search_term: String! + "The radius for the search in KM." + radius: Int! + "The country code where search must be performed. Required parameter together with region, city or postcode." + search_term: String! } "AttributeInput specifies the attribute_code and entity_type to search" input AttributeInput { - "The unique identifier for an attribute code. This value should be in lowercase letters without spaces." - attribute_code: String - "The type of entity that defines the attribute" - entity_type: String + "The unique identifier for an attribute code. This value should be in lowercase letters without spaces." + attribute_code: String + "The type of entity that defines the attribute" + entity_type: String } input BillingAddressInput { - address: CartAddressInput - customer_address_id: Int - "Set billing address same as shipping" - same_as_shipping: Boolean - "Deprecated: use `same_as_shipping` field instead" - use_for_shipping: Boolean + address: CartAddressInput + customer_address_id: Int + "Set billing address same as shipping" + same_as_shipping: Boolean + "Deprecated: use `same_as_shipping` field instead" + use_for_shipping: Boolean } input BraintreeCcVaultInput { - device_data: String - public_hash: String! + device_data: String + public_hash: String! } input BraintreeInput { - "Contains a fingerprint provided by Braintree JS SDK and should be sent with sale transaction details to the Braintree payment gateway. Should be specified only in a case if Kount (advanced fraud protection) is enabled for Braintree payment integration." - device_data: String - "States whether an entered by a customer credit/debit card should be tokenized for later usage. Required only if Vault is enabled for Braintree payment integration." - is_active_payment_token_enabler: Boolean! - "The one-time payment token generated by Braintree payment gateway based on card details. Required field to make sale transaction." - payment_method_nonce: String! + "Contains a fingerprint provided by Braintree JS SDK and should be sent with sale transaction details to the Braintree payment gateway. Should be specified only in a case if Kount (advanced fraud protection) is enabled for Braintree payment integration." + device_data: String + "States whether an entered by a customer credit/debit card should be tokenized for later usage. Required only if Vault is enabled for Braintree payment integration." + is_active_payment_token_enabler: Boolean! + "The one-time payment token generated by Braintree payment gateway based on card details. Required field to make sale transaction." + payment_method_nonce: String! } input BundleOptionInput { - id: Int! - quantity: Float! - value: [String]! + id: Int! + quantity: Float! + value: [String]! } input BundleProductCartItemInput { - bundle_options: [BundleOptionInput]! - customizable_options: [CustomizableOptionInput] - data: CartItemInput! + bundle_options: [BundleOptionInput]! + customizable_options: [CustomizableOptionInput] + data: CartItemInput! } input CartAddressInput { - city: String! - company: String - country_code: String! - firstname: String! - lastname: String! - postcode: String - region: String - region_id: Int - "Determines whether to save the address in the customer's address book. The default value is true" - save_in_address_book: Boolean - street: [String]! - telephone: String! + city: String! + company: String + country_code: String! + firstname: String! + lastname: String! + postcode: String + region: String + region_id: Int + "Determines whether to save the address in the customer's address book. The default value is true" + save_in_address_book: Boolean + street: [String]! + telephone: String! } input CartItemInput { - "An array of entered options for the base product, such as personalization text" - entered_options: [EnteredOptionInput] - "For child products, the SKU of its parent product" - parent_sku: String - quantity: Float! - "The selected options for the base product, such as color or size with unique ID for a `CustomizableRadioOption`, `CustomizableDropDownOption`, `ConfigurableProductOptionsValues`, etc. objects" - selected_options: [ID] - sku: String! + "An array of entered options for the base product, such as personalization text" + entered_options: [EnteredOptionInput] + "For child products, the SKU of its parent product" + parent_sku: String + quantity: Float! + "The selected options for the base product, such as color or size with unique ID for a `CustomizableRadioOption`, `CustomizableDropDownOption`, `ConfigurableProductOptionsValues`, etc. objects" + selected_options: [ID] + sku: String! } input CartItemUpdateInput { - "Deprecated. Use `cart_item_uid` instead." - cart_item_id: Int - "The unique ID for a `CartItemInterface` object" - cart_item_uid: ID - customizable_options: [CustomizableOptionInput] - "Gift message details for the cart item" - gift_message: GiftMessageInput - quantity: Float + "Deprecated. Use `cart_item_uid` instead." + cart_item_id: Int + "The unique ID for a `CartItemInterface` object" + cart_item_uid: ID + customizable_options: [CustomizableOptionInput] + "Gift message details for the cart item" + gift_message: GiftMessageInput + quantity: Float } "CategoryFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for." input CategoryFilterInput { - "Filter by the unique category ID for a `CategoryInterface` object." - category_uid: FilterEqualTypeInput - "Deprecated: use 'category_uid' to filter uniquely identifiers of categories." - ids: FilterEqualTypeInput - "Filter by the display name of the category." - name: FilterMatchTypeInput - "Filter by the unique parent category ID for a `CategoryInterface` object." - parent_category_uid: FilterEqualTypeInput - "Filter by the unique parent category ID for a `CategoryInterface` object." - parent_id: FilterEqualTypeInput - "Filter by the part of the URL that identifies the category." - url_key: FilterEqualTypeInput - "Filter by the URL path for the category." - url_path: FilterEqualTypeInput + "Filter by the unique category ID for a `CategoryInterface` object." + category_uid: FilterEqualTypeInput + "Deprecated: use 'category_uid' to filter uniquely identifiers of categories." + ids: FilterEqualTypeInput + "Filter by the display name of the category." + name: FilterMatchTypeInput + "Filter by the unique parent category ID for a `CategoryInterface` object." + parent_category_uid: FilterEqualTypeInput + "Filter by the unique parent category ID for a `CategoryInterface` object." + parent_id: FilterEqualTypeInput + "Filter by the part of the URL that identifies the category." + url_key: FilterEqualTypeInput + "Filter by the URL path for the category." + url_path: FilterEqualTypeInput } input ConfigurableProductCartItemInput { - customizable_options: [CustomizableOptionInput] - data: CartItemInput! - "Configurable product SKU." - parent_sku: String - "Deprecated. Use CartItemInput.sku instead." - variant_sku: String + customizable_options: [CustomizableOptionInput] + data: CartItemInput! + "Configurable product SKU." + parent_sku: String + "Deprecated. Use CartItemInput.sku instead." + variant_sku: String } input CreateCompareListInput { - "An array of product IDs to add to the compare list" - products: [ID] + "An array of product IDs to add to the compare list" + products: [ID] } input CreateProductReviewInput { - "The customer's nickname. Defaults to the customer name, if logged in" - nickname: String! - "Ratings details by category. e.g price: 5, quality: 4 etc" - ratings: [ProductReviewRatingInput]! - "The SKU of the reviewed product" - sku: String! - "The summary (title) of the review" - summary: String! - "The review text." - text: String! + "The customer's nickname. Defaults to the customer name, if logged in" + nickname: String! + "Ratings details by category. e.g price: 5, quality: 4 etc" + ratings: [ProductReviewRatingInput]! + "The SKU of the reviewed product" + sku: String! + "The summary (title) of the review" + summary: String! + "The review text." + text: String! } "Required fields for Payflow Pro and Payments Pro credit card payments" input CreditCardDetailsInput { - "Credit card expiration month" - cc_exp_month: Int! - "Credit card expiration year" - cc_exp_year: Int! - "Last 4 digits of the credit card" - cc_last_4: Int! - "Credit card type" - cc_type: String! + "Credit card expiration month" + cc_exp_month: Int! + "Credit card expiration year" + cc_exp_year: Int! + "Last 4 digits of the credit card" + cc_last_4: Int! + "Credit card type" + cc_type: String! } input CustomerAddressAttributeInput { - "Attribute code" - attribute_code: String! - "Attribute value" - value: String! + "Attribute code" + attribute_code: String! + "Attribute value" + value: String! } input CustomerAddressInput { - "The city or town" - city: String - "The customer's company" - company: String - "The customer's country" - country_code: CountryCodeEnum - "Deprecated: use `country_code` instead." - country_id: CountryCodeEnum - "Deprecated: Custom attributes should not be put into container." - custom_attributes: [CustomerAddressAttributeInput] - "Indicates whether the address is the default billing address" - default_billing: Boolean - "Indicates whether the address is the default shipping address" - default_shipping: Boolean - "The fax number" - fax: String - "The first name of the person associated with the shipping/billing address" - firstname: String - "The family name of the person associated with the shipping/billing address" - lastname: String - "The middle name of the person associated with the shipping/billing address" - middlename: String - "The customer's ZIP or postal code" - postcode: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "An object containing the region name, region code, and region ID" - region: CustomerAddressRegionInput - "An array of strings that define the street number and name" - street: [String] - "A value such as Sr., Jr., or III" - suffix: String - "The telephone number" - telephone: String - "The customer's Tax/VAT number (for corporate customers)" - vat_id: String + "The city or town" + city: String + "The customer's company" + company: String + "The customer's country" + country_code: CountryCodeEnum + "Deprecated: use `country_code` instead." + country_id: CountryCodeEnum + "Deprecated: Custom attributes should not be put into container." + custom_attributes: [CustomerAddressAttributeInput] + "Indicates whether the address is the default billing address" + default_billing: Boolean + "Indicates whether the address is the default shipping address" + default_shipping: Boolean + "The fax number" + fax: String + "The first name of the person associated with the shipping/billing address" + firstname: String + "The family name of the person associated with the shipping/billing address" + lastname: String + "The middle name of the person associated with the shipping/billing address" + middlename: String + "The customer's ZIP or postal code" + postcode: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "An object containing the region name, region code, and region ID" + region: CustomerAddressRegionInput + "An array of strings that define the street number and name" + street: [String] + "A value such as Sr., Jr., or III" + suffix: String + "The telephone number" + telephone: String + "The customer's Tax/VAT number (for corporate customers)" + vat_id: String } "CustomerAddressRegionInput defines the customer's state or province" input CustomerAddressRegionInput { - "The state or province name" - region: String - "The address region code" - region_code: String - "The unique ID for a pre-defined region" - region_id: Int + "The state or province name" + region: String + "The address region code" + region_code: String + "The unique ID for a pre-defined region" + region_id: Int } input CustomerCreateInput { - "Indicates whether the customer has enabled remote shopping assistance" - allow_remote_shopping_assistance: Boolean - "The customer's date of birth" - date_of_birth: String - "Deprecated: Use `date_of_birth` instead" - dob: String - "The customer's email address. Required for customer creation" - email: String! - "The customer's first name" - firstname: String! - "The customer's gender (Male - 1, Female - 2)" - gender: Int - "Indicates whether the customer is subscribed to the company's newsletter" - is_subscribed: Boolean - "The customer's family name" - lastname: String! - "The customer's middle name" - middlename: String - "The customer's password" - password: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "A value such as Sr., Jr., or III" - suffix: String - "The customer's Tax/VAT number (for corporate customers)" - taxvat: String + "Indicates whether the customer has enabled remote shopping assistance" + allow_remote_shopping_assistance: Boolean + "The customer's date of birth" + date_of_birth: String + "Deprecated: Use `date_of_birth` instead" + dob: String + "The customer's email address. Required for customer creation" + email: String! + "The customer's first name" + firstname: String! + "The customer's gender (Male - 1, Female - 2)" + gender: Int + "Indicates whether the customer is subscribed to the company's newsletter" + is_subscribed: Boolean + "The customer's family name" + lastname: String! + "The customer's middle name" + middlename: String + "The customer's password" + password: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "A value such as Sr., Jr., or III" + suffix: String + "The customer's Tax/VAT number (for corporate customers)" + taxvat: String } input CustomerInput { - "The customer's date of birth" - date_of_birth: String - "Deprecated: Use `date_of_birth` instead" - dob: String - "The customer's email address. Required for customer creation" - email: String - "The customer's first name" - firstname: String - "The customer's gender (Male - 1, Female - 2)" - gender: Int - "Indicates whether the customer is subscribed to the company's newsletter" - is_subscribed: Boolean - "The customer's family name" - lastname: String - "The customer's middle name" - middlename: String - "The customer's password" - password: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "A value such as Sr., Jr., or III" - suffix: String - "The customer's Tax/VAT number (for corporate customers)" - taxvat: String + "The customer's date of birth" + date_of_birth: String + "Deprecated: Use `date_of_birth` instead" + dob: String + "The customer's email address. Required for customer creation" + email: String + "The customer's first name" + firstname: String + "The customer's gender (Male - 1, Female - 2)" + gender: Int + "Indicates whether the customer is subscribed to the company's newsletter" + is_subscribed: Boolean + "The customer's family name" + lastname: String + "The customer's middle name" + middlename: String + "The customer's password" + password: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "A value such as Sr., Jr., or III" + suffix: String + "The customer's Tax/VAT number (for corporate customers)" + taxvat: String } "Identifies the filter to use for filtering orders." input CustomerOrdersFilterInput { - "Filters by order number." - number: FilterStringTypeInput + "Filters by order number." + number: FilterStringTypeInput } input CustomerUpdateInput { - "Indicates whether the customer has enabled remote shopping assistance" - allow_remote_shopping_assistance: Boolean - "The customer's date of birth" - date_of_birth: String - "Deprecated: Use `date_of_birth` instead" - dob: String - "The customer's first name" - firstname: String - "The customer's gender (Male - 1, Female - 2)" - gender: Int - "Indicates whether the customer is subscribed to the company's newsletter" - is_subscribed: Boolean - "The customer's family name" - lastname: String - "The customer's middle name" - middlename: String - "An honorific, such as Dr., Mr., or Mrs." - prefix: String - "A value such as Sr., Jr., or III" - suffix: String - "The customer's Tax/VAT number (for corporate customers)" - taxvat: String + "Indicates whether the customer has enabled remote shopping assistance" + allow_remote_shopping_assistance: Boolean + "The customer's date of birth" + date_of_birth: String + "Deprecated: Use `date_of_birth` instead" + dob: String + "The customer's first name" + firstname: String + "The customer's gender (Male - 1, Female - 2)" + gender: Int + "Indicates whether the customer is subscribed to the company's newsletter" + is_subscribed: Boolean + "The customer's family name" + lastname: String + "The customer's middle name" + middlename: String + "An honorific, such as Dr., Mr., or Mrs." + prefix: String + "A value such as Sr., Jr., or III" + suffix: String + "The customer's Tax/VAT number (for corporate customers)" + taxvat: String } input CustomizableOptionInput { - "The customizable option id of the product" - id: Int - "The string value of the option" - value_string: String! + "The customizable option id of the product" + id: Int + "The string value of the option" + value_string: String! } input DownloadableProductCartItemInput { - customizable_options: [CustomizableOptionInput] - data: CartItemInput! - downloadable_product_links: [DownloadableProductLinksInput] + customizable_options: [CustomizableOptionInput] + data: CartItemInput! + downloadable_product_links: [DownloadableProductLinksInput] } input DownloadableProductLinksInput { - link_id: Int! + link_id: Int! } "Defines a customer-entered option" input EnteredOptionInput { - "The unique ID for a `CustomizableFieldOption`, `CustomizableFileOption`, `CustomizableAreaOption`, etc. of `CustomizableOptionInterface` objects" - uid: ID! - "Text the customer entered" - value: String! + "The unique ID for a `CustomizableFieldOption`, `CustomizableFileOption`, `CustomizableAreaOption`, etc. of `CustomizableOptionInterface` objects" + uid: ID! + "Text the customer entered" + value: String! } "Defines a filter that matches the input exactly." input FilterEqualTypeInput { - "A string to filter on" - eq: String - "An array of values to filter on" - in: [String] + "A string to filter on" + eq: String + "An array of values to filter on" + in: [String] } "Defines a filter that performs a fuzzy search." input FilterMatchTypeInput { - "One or more words to filter on" - match: String + "One or more words to filter on" + match: String } "Defines a filter that matches a range of values, such as prices or dates." input FilterRangeTypeInput { - "The beginning of the range" - from: String - "The end of the range" - to: String + "The beginning of the range" + from: String + "The end of the range" + to: String } "Defines a filter for an input string." input FilterStringTypeInput { - "Filters items that are exactly the same as the specified string." - eq: String - "Filters items that are exactly the same as entries specified in an array of strings." - in: [String] - "Defines a filter that performs a fuzzy search using the specified string." - match: String + "Filters items that are exactly the same as the specified string." + eq: String + "Filters items that are exactly the same as entries specified in an array of strings." + in: [String] + "Defines a filter that performs a fuzzy search using the specified string." + match: String } "FilterTypeInput specifies which action will be performed in a query " input FilterTypeInput { - "Equals" - eq: String - finset: [String] - "From. Must be used with 'to'" - from: String - "Greater than" - gt: String - "Greater than or equal to" - gteq: String - "In. The value can contain a set of comma-separated values" - in: [String] - "Like. The specified value can contain % (percent signs) to allow matching of 0 or more characters" - like: String - "Less than" - lt: String - "Less than or equal to" - lteq: String - "More than or equal to" - moreq: String - "Not equal to" - neq: String - "Not in. The value can contain a set of comma-separated values" - nin: [String] - "Not null" - notnull: String - "Is null" - null: String - "To. Must be used with 'from'" - to: String + "Equals" + eq: String + finset: [String] + "From. Must be used with 'to'" + from: String + "Greater than" + gt: String + "Greater than or equal to" + gteq: String + "In. The value can contain a set of comma-separated values" + in: [String] + "Like. The specified value can contain % (percent signs) to allow matching of 0 or more characters" + like: String + "Less than" + lt: String + "Less than or equal to" + lteq: String + "More than or equal to" + moreq: String + "Not equal to" + neq: String + "Not in. The value can contain a set of comma-separated values" + nin: [String] + "Not null" + notnull: String + "Is null" + null: String + "To. Must be used with 'from'" + to: String } input GenerateCustomerTokenAsAdminInput { - "The email address of the customer requesting remote shopping assistance" - customer_email: String! + "The email address of the customer requesting remote shopping assistance" + customer_email: String! } "Contains the text of a gift message, its sender, and recipient" input GiftMessageInput { - "Sender name" - from: String! - "Gift message text" - message: String! - "Recipient name" - to: String! + "Sender name" + from: String! + "Gift message text" + message: String! + "Recipient name" + to: String! } "A set of relative URLs that PayPal will use in response to various actions during the authorization process. Magento prepends the base URL to this value to create a full URL. For example, if the full URL is https://www.example.com/path/to/page.html, the relative URL is path/to/page.html. Use this input for Payments Pro Hosted Solution payment method." input HostedProInput { - "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." - cancel_url: String! - "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." - return_url: String! + "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." + cancel_url: String! + "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." + return_url: String! } "The required input to request the secure URL for Payments Pro Hosted Solution payment." input HostedProUrlInput { - "The unique ID that identifies the customer's cart" - cart_id: String! + "The unique ID that identifies the customer's cart" + cart_id: String! } input KlarnaInput { - "The authorization token must be provided to set any Klarna Payments method" - authorization_token: String! + "The authorization token must be provided to set any Klarna Payments method" + authorization_token: String! } "Required input for Payflow Express Checkout payments" input PayflowExpressInput { - "The unique ID of the PayPal user" - payer_id: String! - "The token returned by the createPaypalExpressToken mutation" - token: String! + "The unique ID of the PayPal user" + payer_id: String! + "The token returned by the createPaypalExpressToken mutation" + token: String! } "A set of relative URLs that PayPal will use in response to various actions during the authorization process. Magento prepends the base URL to this value to create a full URL. For example, if the full URL is https://www.example.com/path/to/page.html, the relative URL is path/to/page.html. Use this input for Payflow Link and Payments Advanced payment methods." input PayflowLinkInput { - "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." - cancel_url: String! - "The relative URL of the transaction error page that PayPal will redirect to upon payment error. If the full URL to this page is https://www.example.com/paypal/action/error.html, the relative URL is paypal/action/error.html." - error_url: String! - "The relative URL of the order confirmation page that PayPal will redirect to when the payment is successful and additional confirmation is not needed. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." - return_url: String! + "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." + cancel_url: String! + "The relative URL of the transaction error page that PayPal will redirect to upon payment error. If the full URL to this page is https://www.example.com/paypal/action/error.html, the relative URL is paypal/action/error.html." + error_url: String! + "The relative URL of the order confirmation page that PayPal will redirect to when the payment is successful and additional confirmation is not needed. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." + return_url: String! } "Input required to fetch payment token information for Payflow Link and Payments Advanced payment methods." input PayflowLinkTokenInput { - "The unique ID that identifies the customer's cart" - cart_id: String! + "The unique ID that identifies the customer's cart" + cart_id: String! } "Required input for Payflow Pro and Payments Pro payment methods." input PayflowProInput { - "Required input for credit card related information" - cc_details: CreditCardDetailsInput! - "States whether details about the customer's credit/debit card should be tokenized for later usage. Required only if Vault is enabled for PayPal Payflow Pro payment integration." - is_active_payment_token_enabler: Boolean + "Required input for credit card related information" + cc_details: CreditCardDetailsInput! + "States whether details about the customer's credit/debit card should be tokenized for later usage. Required only if Vault is enabled for PayPal Payflow Pro payment integration." + is_active_payment_token_enabler: Boolean } "Input required to complete payment. Applies to Payflow Pro and Payments Pro payment methods." input PayflowProResponseInput { - cart_id: String! - paypal_payload: String! + cart_id: String! + paypal_payload: String! } "Input required to fetch payment token information for Payflow Pro and Payments Pro payment methods." input PayflowProTokenInput { - "The unique ID that identifies the customer's cart" - cart_id: String! - "A set of relative URLs that PayPal uses for callback." - urls: PayflowProUrlInput! + "The unique ID that identifies the customer's cart" + cart_id: String! + "A set of relative URLs that PayPal uses for callback." + urls: PayflowProUrlInput! } "A set of relative URLs that PayPal will use in response to various actions during the authorization process. Magento prepends the base URL to this value to create a full URL. For example, if the full URL is https://www.example.com/path/to/page.html, the relative URL is path/to/page.html. Use this input for Payflow Pro and Payment Pro payment methods." input PayflowProUrlInput { - "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." - cancel_url: String! - "The relative URL of the transaction error page that PayPal will redirect to upon payment error. If the full URL to this page is https://www.example.com/paypal/action/error.html, the relative URL is paypal/action/error.html." - error_url: String! - "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." - return_url: String! + "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." + cancel_url: String! + "The relative URL of the transaction error page that PayPal will redirect to upon payment error. If the full URL to this page is https://www.example.com/paypal/action/error.html, the relative URL is paypal/action/error.html." + error_url: String! + "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." + return_url: String! } input PaymentMethodInput { - braintree: BraintreeInput - braintree_cc_vault: BraintreeCcVaultInput - "Payment method code" - code: String! - "Required input for PayPal Hosted pro payments" - hosted_pro: HostedProInput - klarna: KlarnaInput - "Required input for Payflow Express Checkout payments" - payflow_express: PayflowExpressInput - "Required input for PayPal Payflow Link and Payments Advanced payments" - payflow_link: PayflowLinkInput - "Required input type for PayPal Payflow Pro and Payment Pro payments" - payflowpro: PayflowProInput - "Required input type for PayPal Payflow Pro vault payments" - payflowpro_cc_vault: VaultTokenInput - "Required input for Express Checkout and Payments Standard payments" - paypal_express: PaypalExpressInput - "Purchase order number" - purchase_order_number: String + braintree: BraintreeInput + braintree_cc_vault: BraintreeCcVaultInput + "Payment method code" + code: String! + "Required input for PayPal Hosted pro payments" + hosted_pro: HostedProInput + klarna: KlarnaInput + "Required input for Payflow Express Checkout payments" + payflow_express: PayflowExpressInput + "Required input for PayPal Payflow Link and Payments Advanced payments" + payflow_link: PayflowLinkInput + "Required input type for PayPal Payflow Pro and Payment Pro payments" + payflowpro: PayflowProInput + "Required input type for PayPal Payflow Pro vault payments" + payflowpro_cc_vault: VaultTokenInput + "Required input for Express Checkout and Payments Standard payments" + paypal_express: PaypalExpressInput + "Purchase order number" + purchase_order_number: String } "Required input for Express Checkout and Payments Standard payments" input PaypalExpressInput { - "The unique ID of the PayPal user" - payer_id: String! - "The token returned by the createPaypalExpressToken mutation" - token: String! + "The unique ID of the PayPal user" + payer_id: String! + "The token returned by the createPaypalExpressToken mutation" + token: String! } "Defines the attributes required to receive a payment token for Express Checkout and Payments Standard payment methods." input PaypalExpressTokenInput { - "The unique ID that identifies the customer's cart" - cart_id: String! - "Payment method code" - code: String! - "Indicates whether the buyer selected the quick checkout button. The default value is false" - express_button: Boolean - "A set of relative URLs that PayPal uses in response to various actions during the authorization process" - urls: PaypalExpressUrlsInput! - "Indicates whether the buyer clicked the PayPal credit button. The default value is false" - use_paypal_credit: Boolean + "The unique ID that identifies the customer's cart" + cart_id: String! + "Payment method code" + code: String! + "Indicates whether the buyer selected the quick checkout button. The default value is false" + express_button: Boolean + "A set of relative URLs that PayPal uses in response to various actions during the authorization process" + urls: PaypalExpressUrlsInput! + "Indicates whether the buyer clicked the PayPal credit button. The default value is false" + use_paypal_credit: Boolean } "A set of relative URLs that PayPal will use in response to various actions during the authorization process. Magento prepends the base URL to this value to create a full URL. For example, if the full URL is https://www.example.com/path/to/page.html, the relative URL is path/to/page.html. Use this input for Express Checkout and Payments Standard payment methods." input PaypalExpressUrlsInput { - "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." - cancel_url: String! - "The relative URL of the page that PayPal will redirect to when the payment has been put on hold for additional review. This condition mostly applies to ACH transactions, and is not applicable to most PayPal solutions. If the full URL to this page is https://www.example.com/paypal/action/success_pending.html, the relative URL is paypal/action/success_pending.html. " - pending_url: String - "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." - return_url: String! - "The relative URL of the order confirmation page that PayPal will redirect to when the payment is successful and additional confirmation is not needed. Not applicable to most PayPal solutions. If the full URL to this page is https://www.example.com/paypal/action/success.html, the relative URL is paypal/action/success.html." - success_url: String + "The relative URL of the page that PayPal will redirect to when the buyer cancels the transaction in order to choose a different payment method. If the full URL to this page is https://www.example.com/paypal/action/cancel.html, the relative URL is paypal/action/cancel.html." + cancel_url: String! + "The relative URL of the page that PayPal will redirect to when the payment has been put on hold for additional review. This condition mostly applies to ACH transactions, and is not applicable to most PayPal solutions. If the full URL to this page is https://www.example.com/paypal/action/success_pending.html, the relative URL is paypal/action/success_pending.html. " + pending_url: String + "The relative URL of the final confirmation page that PayPal will redirect to upon payment success. If the full URL to this page is https://www.example.com/paypal/action/return.html, the relative URL is paypal/action/return.html." + return_url: String! + "The relative URL of the order confirmation page that PayPal will redirect to when the payment is successful and additional confirmation is not needed. Not applicable to most PayPal solutions. If the full URL to this page is https://www.example.com/paypal/action/success.html, the relative URL is paypal/action/success.html." + success_url: String } "PickupLocationFilterInput defines the list of attributes and filters for the search." input PickupLocationFilterInput { - "Filter by city." - city: FilterTypeInput - "Filter by country." - country_id: FilterTypeInput - "Filter by pickup location name." - name: FilterTypeInput - "Filter by pickup location code." - pickup_location_code: FilterTypeInput - "Filter by postcode." - postcode: FilterTypeInput - "Filter by region." - region: FilterTypeInput - "Filter by region id." - region_id: FilterTypeInput - "Filter by street." - street: FilterTypeInput + "Filter by city." + city: FilterTypeInput + "Filter by country." + country_id: FilterTypeInput + "Filter by pickup location name." + name: FilterTypeInput + "Filter by pickup location code." + pickup_location_code: FilterTypeInput + "Filter by postcode." + postcode: FilterTypeInput + "Filter by region." + region: FilterTypeInput + "Filter by region id." + region_id: FilterTypeInput + "Filter by street." + street: FilterTypeInput } "PickupLocationSortInput specifies attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order." input PickupLocationSortInput { - "City where pickup location is placed." - city: SortEnum - "Name of the contact person." - contact_name: SortEnum - "Id of the country in two letters." - country_id: SortEnum - "Description of the pickup location." - description: SortEnum - "Distance to the address, requested by distance filter. Applicable only with distance filter. If distance sort order is present, all other sort orders will be ignored." - distance: SortEnum - "Contact email of the pickup location." - email: SortEnum - "Contact fax of the pickup location." - fax: SortEnum - "Geographic latitude where pickup location is placed." - latitude: SortEnum - "Geographic longitude where pickup location is placed." - longitude: SortEnum - "The pickup location name. Customer use this to identify the pickup location." - name: SortEnum - "Contact phone number of the pickup location." - phone: SortEnum - "A code assigned to pickup location to identify the source." - pickup_location_code: SortEnum - "Postcode where pickup location is placed." - postcode: SortEnum - "Name of the region." - region: SortEnum - "Id of the region." - region_id: SortEnum - "Street where pickup location is placed." - street: SortEnum + "City where pickup location is placed." + city: SortEnum + "Name of the contact person." + contact_name: SortEnum + "Id of the country in two letters." + country_id: SortEnum + "Description of the pickup location." + description: SortEnum + "Distance to the address, requested by distance filter. Applicable only with distance filter. If distance sort order is present, all other sort orders will be ignored." + distance: SortEnum + "Contact email of the pickup location." + email: SortEnum + "Contact fax of the pickup location." + fax: SortEnum + "Geographic latitude where pickup location is placed." + latitude: SortEnum + "Geographic longitude where pickup location is placed." + longitude: SortEnum + "The pickup location name. Customer use this to identify the pickup location." + name: SortEnum + "Contact phone number of the pickup location." + phone: SortEnum + "A code assigned to pickup location to identify the source." + pickup_location_code: SortEnum + "Postcode where pickup location is placed." + postcode: SortEnum + "Name of the region." + region: SortEnum + "Id of the region." + region_id: SortEnum + "Street where pickup location is placed." + street: SortEnum } input PlaceOrderInput { - cart_id: String! + cart_id: String! } "ProductAttributeFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for." input ProductAttributeFilterInput { - "Deprecated: use `category_uid` to filter product by category id." - category_id: FilterEqualTypeInput - "Filter product by the unique ID for a `CategoryInterface` object." - category_uid: FilterEqualTypeInput - "Attribute label: Description" - description: FilterMatchTypeInput - "Attribute label: Product Name" - name: FilterMatchTypeInput - "Attribute label: Price" - price: FilterRangeTypeInput - "Attribute label: Short Description" - short_description: FilterMatchTypeInput - "Attribute label: SKU" - sku: FilterEqualTypeInput - "The part of the URL that identifies the product" - url_key: FilterEqualTypeInput + "Attribute label: Activity" + activity: FilterEqualTypeInput + "Attribute label: Category Gear" + category_gear: FilterEqualTypeInput + "Deprecated: use `category_uid` to filter product by category id." + category_id: FilterEqualTypeInput + "Filter product by the unique ID for a `CategoryInterface` object." + category_uid: FilterEqualTypeInput + "Attribute label: Climate" + climate: FilterEqualTypeInput + "Attribute label: Collar" + collar: FilterEqualTypeInput + "Attribute label: Color" + color: FilterEqualTypeInput + "Attribute label: Description" + description: FilterMatchTypeInput + "Attribute label: Eco Collection" + eco_collection: FilterEqualTypeInput + "Attribute label: Erin Recommends" + erin_recommends: FilterEqualTypeInput + "Attribute label: Features" + features_bags: FilterEqualTypeInput + "Attribute label: Format" + format: FilterEqualTypeInput + "Attribute label: Gender" + gender: FilterEqualTypeInput + "Attribute label: Material" + material: FilterEqualTypeInput + "Attribute label: Product Name" + name: FilterMatchTypeInput + "Attribute label: New" + new: FilterEqualTypeInput + "Attribute label: Pattern" + pattern: FilterEqualTypeInput + "Attribute label: Performance Fabric" + performance_fabric: FilterEqualTypeInput + "Attribute label: Price" + price: FilterRangeTypeInput + "Attribute label: Sale" + sale: FilterEqualTypeInput + "Attribute label: Short Description" + short_description: FilterMatchTypeInput + "Attribute label: Size" + size: FilterEqualTypeInput + "Attribute label: SKU" + sku: FilterEqualTypeInput + "Attribute label: Sleeve" + sleeve: FilterEqualTypeInput + "Attribute label: Strap/Handle" + strap_bags: FilterEqualTypeInput + "Attribute label: Style Bags" + style_bags: FilterEqualTypeInput + "Attribute label: Style Bottom" + style_bottom: FilterEqualTypeInput + "Attribute label: Style General" + style_general: FilterEqualTypeInput + "The part of the URL that identifies the product" + url_key: FilterEqualTypeInput } "ProductAttributeSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order. It's possible to sort products using searchable attributes with enabled 'Use in Filter Options' option" input ProductAttributeSortInput { - "Attribute label: Product Name" - name: SortEnum - "Sort by the position assigned to each product." - position: SortEnum - "Attribute label: Price" - price: SortEnum - "Sort by the search relevance score (default)." - relevance: SortEnum + "Attribute label: Product Name" + name: SortEnum + "Sort by the position assigned to each product." + position: SortEnum + "Attribute label: Price" + price: SortEnum + "Sort by the search relevance score (default)." + relevance: SortEnum } "ProductFilterInput is deprecated, use @ProductAttributeFilterInput instead. ProductFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for." input ProductFilterInput { - "Category ID the product belongs to." - category_id: FilterTypeInput - "The product's country of origin." - country_of_manufacture: FilterTypeInput - "Timestamp indicating when the product was created." - created_at: FilterTypeInput - "The name of a custom layout." - custom_layout: FilterTypeInput - "XML code that is applied as a layout update to the product page." - custom_layout_update: FilterTypeInput - "Detailed information about the product. The value can include simple HTML tags." - description: FilterTypeInput - "Indicates whether a gift message is available." - gift_message_available: FilterTypeInput - "Indicates whether additional attributes have been created for the product." - has_options: FilterTypeInput - "The relative path to the main image on the product page." - image: FilterTypeInput - "The label assigned to a product image." - image_label: FilterTypeInput - "A number representing the product's manufacturer." - manufacturer: FilterTypeInput - "The numeric maximal price of the product. Do not include the currency code." - max_price: FilterTypeInput - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: FilterTypeInput - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: FilterTypeInput - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: FilterTypeInput - "The numeric minimal price of the product. Do not include the currency code." - min_price: FilterTypeInput - "The product name. Customers use this name to identify the product." - name: FilterTypeInput - "The beginning date for new product listings, and determines if the product is featured as a new product." - news_from_date: FilterTypeInput - "The end date for new product listings." - news_to_date: FilterTypeInput - "If the product has multiple options, determines where they appear on the product page." - options_container: FilterTypeInput - "The keyword required to perform a logical OR comparison." - or: ProductFilterInput - "The price of an item." - price: FilterTypeInput - "Indicates whether the product has required options." - required_options: FilterTypeInput - "A short description of the product. Its use depends on the theme." - short_description: FilterTypeInput - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: FilterTypeInput - "The relative path to the small image, which is used on catalog pages." - small_image: FilterTypeInput - "The label assigned to a product's small image." - small_image_label: FilterTypeInput - "The beginning date that a product has a special price." - special_from_date: FilterTypeInput - "The discounted price of the product. Do not include the currency code." - special_price: FilterTypeInput - "The end date that a product has a special price." - special_to_date: FilterTypeInput - "The file name of a swatch image" - swatch_image: FilterTypeInput - "The relative path to the product's thumbnail image." - thumbnail: FilterTypeInput - "The label assigned to a product's thumbnail image." - thumbnail_label: FilterTypeInput - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: FilterTypeInput - "Timestamp indicating when the product was updated." - updated_at: FilterTypeInput - "The part of the URL that identifies the product" - url_key: FilterTypeInput - url_path: FilterTypeInput - "The weight of the item, in units defined by the store." - weight: FilterTypeInput + "Category ID the product belongs to." + category_id: FilterTypeInput + "The product's country of origin." + country_of_manufacture: FilterTypeInput + "Timestamp indicating when the product was created." + created_at: FilterTypeInput + "The name of a custom layout." + custom_layout: FilterTypeInput + "XML code that is applied as a layout update to the product page." + custom_layout_update: FilterTypeInput + "Detailed information about the product. The value can include simple HTML tags." + description: FilterTypeInput + "Indicates whether a gift message is available." + gift_message_available: FilterTypeInput + "Indicates whether additional attributes have been created for the product." + has_options: FilterTypeInput + "The relative path to the main image on the product page." + image: FilterTypeInput + "The label assigned to a product image." + image_label: FilterTypeInput + "A number representing the product's manufacturer." + manufacturer: FilterTypeInput + "The numeric maximal price of the product. Do not include the currency code." + max_price: FilterTypeInput + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: FilterTypeInput + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: FilterTypeInput + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: FilterTypeInput + "The numeric minimal price of the product. Do not include the currency code." + min_price: FilterTypeInput + "The product name. Customers use this name to identify the product." + name: FilterTypeInput + "The beginning date for new product listings, and determines if the product is featured as a new product." + news_from_date: FilterTypeInput + "The end date for new product listings." + news_to_date: FilterTypeInput + "If the product has multiple options, determines where they appear on the product page." + options_container: FilterTypeInput + "The keyword required to perform a logical OR comparison." + or: ProductFilterInput + "The price of an item." + price: FilterTypeInput + "Indicates whether the product has required options." + required_options: FilterTypeInput + "A short description of the product. Its use depends on the theme." + short_description: FilterTypeInput + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: FilterTypeInput + "The relative path to the small image, which is used on catalog pages." + small_image: FilterTypeInput + "The label assigned to a product's small image." + small_image_label: FilterTypeInput + "The beginning date that a product has a special price." + special_from_date: FilterTypeInput + "The discounted price of the product. Do not include the currency code." + special_price: FilterTypeInput + "The end date that a product has a special price." + special_to_date: FilterTypeInput + "The file name of a swatch image" + swatch_image: FilterTypeInput + "The relative path to the product's thumbnail image." + thumbnail: FilterTypeInput + "The label assigned to a product's thumbnail image." + thumbnail_label: FilterTypeInput + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: FilterTypeInput + "Timestamp indicating when the product was updated." + updated_at: FilterTypeInput + "The part of the URL that identifies the product" + url_key: FilterTypeInput + url_path: FilterTypeInput + "The weight of the item, in units defined by the store." + weight: FilterTypeInput } "Product Information used for Pickup Locations search." input ProductInfoInput { - "Product SKU." - sku: String! + "Product SKU." + sku: String! } input ProductReviewRatingInput { - "An encoded rating ID." - id: String! - "An encoded rating value id." - value_id: String! + "An encoded rating ID." + id: String! + "An encoded rating value id." + value_id: String! } "ProductSortInput is deprecated, use @ProductAttributeSortInput instead. ProductSortInput specifies the attribute to use for sorting search results and indicates whether the results are sorted in ascending or descending order." input ProductSortInput { - "The product's country of origin." - country_of_manufacture: SortEnum - "Timestamp indicating when the product was created." - created_at: SortEnum - "The name of a custom layout." - custom_layout: SortEnum - "XML code that is applied as a layout update to the product page." - custom_layout_update: SortEnum - "Detailed information about the product. The value can include simple HTML tags." - description: SortEnum - "Indicates whether a gift message is available." - gift_message_available: SortEnum - "Indicates whether additional attributes have been created for the product." - has_options: SortEnum - "The relative path to the main image on the product page." - image: SortEnum - "The label assigned to a product image." - image_label: SortEnum - "A number representing the product's manufacturer." - manufacturer: SortEnum - "A brief overview of the product for search results listings, maximum 255 characters." - meta_description: SortEnum - "A comma-separated list of keywords that are visible only to search engines." - meta_keyword: SortEnum - "A string that is displayed in the title bar and tab of the browser and in search results lists." - meta_title: SortEnum - "The product name. Customers use this name to identify the product." - name: SortEnum - "The beginning date for new product listings, and determines if the product is featured as a new product." - news_from_date: SortEnum - "The end date for new product listings." - news_to_date: SortEnum - "If the product has multiple options, determines where they appear on the product page." - options_container: SortEnum - "The price of the item." - price: SortEnum - "Indicates whether the product has required options." - required_options: SortEnum - "A short description of the product. Its use depends on the theme." - short_description: SortEnum - "A number or code assigned to a product to identify the product, options, price, and manufacturer." - sku: SortEnum - "The relative path to the small image, which is used on catalog pages." - small_image: SortEnum - "The label assigned to a product's small image." - small_image_label: SortEnum - "The beginning date that a product has a special price." - special_from_date: SortEnum - "The discounted price of the product." - special_price: SortEnum - "The end date that a product has a special price." - special_to_date: SortEnum - "The file name of a swatch image" - swatch_image: SortEnum - "The relative path to the product's thumbnail image." - thumbnail: SortEnum - "The label assigned to a product's thumbnail image." - thumbnail_label: SortEnum - "The price when tier pricing is in effect and the items purchased threshold has been reached." - tier_price: SortEnum - "Timestamp indicating when the product was updated." - updated_at: SortEnum - "The part of the URL that identifies the product" - url_key: SortEnum - url_path: SortEnum - "The weight of the item, in units defined by the store." - weight: SortEnum + "The product's country of origin." + country_of_manufacture: SortEnum + "Timestamp indicating when the product was created." + created_at: SortEnum + "The name of a custom layout." + custom_layout: SortEnum + "XML code that is applied as a layout update to the product page." + custom_layout_update: SortEnum + "Detailed information about the product. The value can include simple HTML tags." + description: SortEnum + "Indicates whether a gift message is available." + gift_message_available: SortEnum + "Indicates whether additional attributes have been created for the product." + has_options: SortEnum + "The relative path to the main image on the product page." + image: SortEnum + "The label assigned to a product image." + image_label: SortEnum + "A number representing the product's manufacturer." + manufacturer: SortEnum + "A brief overview of the product for search results listings, maximum 255 characters." + meta_description: SortEnum + "A comma-separated list of keywords that are visible only to search engines." + meta_keyword: SortEnum + "A string that is displayed in the title bar and tab of the browser and in search results lists." + meta_title: SortEnum + "The product name. Customers use this name to identify the product." + name: SortEnum + "The beginning date for new product listings, and determines if the product is featured as a new product." + news_from_date: SortEnum + "The end date for new product listings." + news_to_date: SortEnum + "If the product has multiple options, determines where they appear on the product page." + options_container: SortEnum + "The price of the item." + price: SortEnum + "Indicates whether the product has required options." + required_options: SortEnum + "A short description of the product. Its use depends on the theme." + short_description: SortEnum + "A number or code assigned to a product to identify the product, options, price, and manufacturer." + sku: SortEnum + "The relative path to the small image, which is used on catalog pages." + small_image: SortEnum + "The label assigned to a product's small image." + small_image_label: SortEnum + "The beginning date that a product has a special price." + special_from_date: SortEnum + "The discounted price of the product." + special_price: SortEnum + "The end date that a product has a special price." + special_to_date: SortEnum + "The file name of a swatch image" + swatch_image: SortEnum + "The relative path to the product's thumbnail image." + thumbnail: SortEnum + "The label assigned to a product's thumbnail image." + thumbnail_label: SortEnum + "The price when tier pricing is in effect and the items purchased threshold has been reached." + tier_price: SortEnum + "Timestamp indicating when the product was updated." + updated_at: SortEnum + "The part of the URL that identifies the product" + url_key: SortEnum + url_path: SortEnum + "The weight of the item, in units defined by the store." + weight: SortEnum } input RemoveCouponFromCartInput { - cart_id: String! + cart_id: String! } input RemoveItemFromCartInput { - cart_id: String! - "Deprecated. Use `cart_item_uid` instead." - cart_item_id: Int - "Required field. The unique ID for a `CartItemInterface` object" - cart_item_uid: ID + cart_id: String! + "Deprecated. Use `cart_item_uid` instead." + cart_item_id: Int + "Required field. The unique ID for a `CartItemInterface` object" + cart_item_uid: ID } input RemoveProductsFromCompareListInput { - "An array of product IDs to remove from the compare list" - products: [ID]! - "The unique identifier of the compare list to modify" - uid: ID! + "An array of product IDs to remove from the compare list" + products: [ID]! + "The unique identifier of the compare list to modify" + uid: ID! } input SendEmailToFriendInput { - product_id: Int! - recipients: [SendEmailToFriendRecipientInput]! - sender: SendEmailToFriendSenderInput! + product_id: Int! + recipients: [SendEmailToFriendRecipientInput]! + sender: SendEmailToFriendSenderInput! } input SendEmailToFriendRecipientInput { - email: String! - name: String! + email: String! + name: String! } input SendEmailToFriendSenderInput { - email: String! - message: String! - name: String! + email: String! + message: String! + name: String! } input SetBillingAddressOnCartInput { - billing_address: BillingAddressInput! - cart_id: String! + billing_address: BillingAddressInput! + cart_id: String! } input SetGuestEmailOnCartInput { - cart_id: String! - email: String! + cart_id: String! + email: String! } input SetPaymentMethodAndPlaceOrderInput { - cart_id: String! - payment_method: PaymentMethodInput! + cart_id: String! + payment_method: PaymentMethodInput! } input SetPaymentMethodOnCartInput { - cart_id: String! - payment_method: PaymentMethodInput! + cart_id: String! + payment_method: PaymentMethodInput! } input SetShippingAddressesOnCartInput { - cart_id: String! - shipping_addresses: [ShippingAddressInput]! + cart_id: String! + shipping_addresses: [ShippingAddressInput]! } input SetShippingMethodsOnCartInput { - cart_id: String! - shipping_methods: [ShippingMethodInput]! + cart_id: String! + shipping_methods: [ShippingMethodInput]! } input ShippingAddressInput { - address: CartAddressInput - customer_address_id: Int - customer_notes: String - "The code of Pickup Location which will be used for In-Store Pickup." - pickup_location_code: String + address: CartAddressInput + customer_address_id: Int + customer_notes: String + "The code of Pickup Location which will be used for In-Store Pickup." + pickup_location_code: String } input ShippingMethodInput { - carrier_code: String! - method_code: String! + carrier_code: String! + method_code: String! } input SimpleProductCartItemInput { - customizable_options: [CustomizableOptionInput] - data: CartItemInput! + customizable_options: [CustomizableOptionInput] + data: CartItemInput! } input UpdateCartItemsInput { - cart_id: String! - cart_items: [CartItemUpdateInput]! + cart_id: String! + cart_items: [CartItemUpdateInput]! } "Required input for payment methods with Vault support." input VaultTokenInput { - "The public hash of the payment token" - public_hash: String! + "The public hash of the payment token" + public_hash: String! } input VirtualProductCartItemInput { - customizable_options: [CustomizableOptionInput] - data: CartItemInput! + customizable_options: [CustomizableOptionInput] + data: CartItemInput! } "Defines the items to add to a wish list" input WishlistItemInput { - "An array of options that the customer entered" - entered_options: [EnteredOptionInput] - "For complex product types, the SKU of the parent product" - parent_sku: String - "The amount or number of items to add" - quantity: Float! - "An array of strings corresponding to options the customer selected" - selected_options: [ID] - "The SKU of the product to add. For complex product types, specify the child product SKU" - sku: String! + "An array of options that the customer entered" + entered_options: [EnteredOptionInput] + "For complex product types, the SKU of the parent product" + parent_sku: String + "The amount or number of items to add" + quantity: Float! + "An array of strings corresponding to options the customer selected" + selected_options: [ID] + "The SKU of the product to add. For complex product types, specify the child product SKU" + sku: String! } "Defines updates to items in a wish list" input WishlistItemUpdateInput { - "Customer-entered comments about the item" - description: String - "An array of options that the customer entered" - entered_options: [EnteredOptionInput] - "The new amount or number of this item" - quantity: Float - "An array of strings corresponding to options the customer selected" - selected_options: [ID] - "The unique ID for a `WishlistItemInterface` object" - wishlist_item_id: ID! + "Customer-entered comments about the item" + description: String + "An array of options that the customer entered" + entered_options: [EnteredOptionInput] + "The new amount or number of this item" + quantity: Float + "An array of strings corresponding to options the customer selected" + selected_options: [ID] + "The unique ID for a `WishlistItemInterface` object" + wishlist_item_id: ID! } input createEmptyCartInput { - cart_id: String + cart_id: String } input createKlarnaPaymentsSessionInput { - cart_id: String! + cart_id: String! } diff --git a/packages/api-client/src/api-extractor-data.ts b/packages/api-client/src/api-extractor-data.ts new file mode 100644 index 000000000..ef432ddfa --- /dev/null +++ b/packages/api-client/src/api-extractor-data.ts @@ -0,0 +1,12 @@ +/** + * `api-client` for Magento 2 integration for Vue Storefront 2. + * + * @remarks + * The `@vue-storefront/magento2` library includes everything needed to fetch data from the + * Magento 2 eCommerce platform. This includes API client configuration, API endpoints, and + * GraphQL types and fragments. + * + * @packageDocumentation + */ + +export * from './api'; diff --git a/packages/api-client/src/api/addBundleProductsToCart/addBundleProductsToCart.ts b/packages/api-client/src/api/addBundleProductsToCart/addBundleProductsToCart.ts index cab4fed72..5685645da 100644 --- a/packages/api-client/src/api/addBundleProductsToCart/addBundleProductsToCart.ts +++ b/packages/api-client/src/api/addBundleProductsToCart/addBundleProductsToCart.ts @@ -1,13 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} - mutation addBundleProductsToCart($input: AddBundleProductsToCartInput) { addBundleProductsToCart(input: $input) { - cart { - ...CompleteCartData + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/addConfigurableProductsToCart/addConfigurableProductsToCart.ts b/packages/api-client/src/api/addConfigurableProductsToCart/addConfigurableProductsToCart.ts index 1421c2b40..f15d185d3 100644 --- a/packages/api-client/src/api/addConfigurableProductsToCart/addConfigurableProductsToCart.ts +++ b/packages/api-client/src/api/addConfigurableProductsToCart/addConfigurableProductsToCart.ts @@ -1,13 +1,181 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; -export default gql` - ${CompleteCartData} - - mutation addConfigurableProductsToCart($input: AddConfigurableProductsToCartInput) { +export default gql`mutation addConfigurableProductsToCart($input: AddConfigurableProductsToCartInput) { addConfigurableProductsToCart(input: $input) { cart { - ...CompleteCartData + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } } } }`; diff --git a/packages/api-client/src/api/addProductToWishList/addProductsToWishlist.ts b/packages/api-client/src/api/addProductToWishList/addProductsToWishlist.ts index 3d358f6d4..c2c4be950 100644 --- a/packages/api-client/src/api/addProductToWishList/addProductsToWishlist.ts +++ b/packages/api-client/src/api/addProductToWishList/addProductsToWishlist.ts @@ -1,13 +1,140 @@ import gql from 'graphql-tag'; -import WishlistData from '../../fragments/wishlistDataFragment'; export default gql` - ${WishlistData} - -mutation addProductsToWishlist($id: ID!, $items: [WishlistItemInput!]!) { - addProductsToWishlist(wishlistId: $id, wishlistItems: $items) { - wishlist { - ...WishlistData + mutation addProductsToWishlist($id: ID!, $items: [WishlistItemInput!]!) { + addProductsToWishlist(wishlistId: $id, wishlistItems: $items) { + wishlist { + id + items_count + sharing_code + items_v2 { + items { + id + quantity + description + added_at + product { + ...on ConfigurableProduct { + configurable_options { + attribute_code + attribute_uid + label + position + uid + use_default + values { + label + swatch_data { + value + } + uid + } + } + } + ... on BundleProduct { + items { + sku + title + options { + uid + quantity + product { + uid + sku + name + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + } + } + } + } + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + } + page_info { + current_page + page_size + total_pages + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/addProductsToCart/addProductsToCart.ts b/packages/api-client/src/api/addProductsToCart/addProductsToCart.ts index 40ff35413..0587bb468 100644 --- a/packages/api-client/src/api/addProductsToCart/addProductsToCart.ts +++ b/packages/api-client/src/api/addProductsToCart/addProductsToCart.ts @@ -1,12 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -mutation addProductsToCart($cartId: String!, $cartItems: [CartItemInput!]!) { - addProductsToCart(cartId,: $cartId, cartItems,: $cartItems) { - cart { - ...CompleteCartData + mutation addProductsToCart($cartId: String!, $cartItems: [CartItemInput!]!) { + addProductsToCart(cartId,: $cartId, cartItems,: $cartItems) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/addSimpleProductsToCart/addSimpleProductsToCart.ts b/packages/api-client/src/api/addSimpleProductsToCart/addSimpleProductsToCart.ts index c7d22c68b..57427f7d7 100644 --- a/packages/api-client/src/api/addSimpleProductsToCart/addSimpleProductsToCart.ts +++ b/packages/api-client/src/api/addSimpleProductsToCart/addSimpleProductsToCart.ts @@ -1,12 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -mutation addSimpleProductsToCart($input: AddSimpleProductsToCartInput) { - addSimpleProductsToCart(input: $input) { - cart { - ...CompleteCartData + mutation addSimpleProductsToCart($input: AddSimpleProductsToCartInput) { + addSimpleProductsToCart(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/applyCouponToCart/applyCouponToCart.ts b/packages/api-client/src/api/applyCouponToCart/applyCouponToCart.ts index fa4ee5264..7a98216c0 100644 --- a/packages/api-client/src/api/applyCouponToCart/applyCouponToCart.ts +++ b/packages/api-client/src/api/applyCouponToCart/applyCouponToCart.ts @@ -1,12 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -mutation applyCouponToCart($input: ApplyCouponToCartInput) { - applyCouponToCart(input: $input) { - cart { - ...CompleteCartData + mutation applyCouponToCart($input: ApplyCouponToCartInput) { + applyCouponToCart(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/bundleProductDetail/bundleProductDetailQuery.ts b/packages/api-client/src/api/bundleProductDetail/bundleProductDetailQuery.ts deleted file mode 100644 index 0803917bf..000000000 --- a/packages/api-client/src/api/bundleProductDetail/bundleProductDetailQuery.ts +++ /dev/null @@ -1,63 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` - query bundleProductDetail($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput) { - products( - search: $search - filter: $filter - sort: $sort - pageSize: $pageSize - currentPage: $currentPage - ) { - items { - uid - ... on BundleProduct { - items { - position - __typename - required - sku - title - type - uid - options { - __typename - can_change_quantity - is_default - position - uid - quantity - product { - uid - sku - name - price_range { - maximum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - minimum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - } - } - } - } - } - } - } - } -`; diff --git a/packages/api-client/src/api/bundleProductDetail/index.ts b/packages/api-client/src/api/bundleProductDetail/index.ts deleted file mode 100644 index 3c3cd5341..000000000 --- a/packages/api-client/src/api/bundleProductDetail/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -import gql from 'graphql-tag'; -import { ApolloQueryResult } from 'apollo-client'; -import { CustomQuery } from '@vue-storefront/core'; -import { - ProductAttributeFilterInput, - ProductAttributeSortInput, - BundleProductDetailQuery, - BundleProductDetailQueryVariables, -} from '../../types/GraphQL'; -import bundleProductDetailQuery from './bundleProductDetailQuery'; -import { Context } from '../../types/context'; -import { GetProductSearchParams } from '../../types/API'; - -type Variables = { - pageSize: number; - currentPage: number; - search?: string; - filter?: ProductAttributeFilterInput; - sort?: ProductAttributeSortInput; -}; - -export default async ( - context: Context, - searchParams?: GetProductSearchParams, - customQuery?: CustomQuery, -): Promise> => { - const defaultParams = { - pageSize: 20, - currentPage: 1, - ...searchParams, - }; - - const variables: Variables = { - pageSize: defaultParams.pageSize, - currentPage: defaultParams.currentPage, - }; - - if (defaultParams.search) variables.search = defaultParams.search; - - if (defaultParams.filter) variables.filter = defaultParams.filter; - - if (defaultParams.sort) variables.sort = defaultParams.sort; - - const { products } = context.extendQuery( - customQuery, { - products: { - query: bundleProductDetailQuery, - variables: defaultParams, - }, - }, - ); - try { - return await context.client.query({ - query: gql`${products.query}`, - variables: products.variables, - fetchPolicy: 'no-cache', - }); - } catch (error) { - throw error.graphQLErrors?.[0].message || error.networkError?.result || error; - } -}; diff --git a/packages/api-client/src/api/cart/cart.ts b/packages/api-client/src/api/cart/cart.ts index 6b16cc43c..548bbbf99 100644 --- a/packages/api-client/src/api/cart/cart.ts +++ b/packages/api-client/src/api/cart/cart.ts @@ -1,10 +1,180 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -query cart($cartId: String!) { - cart(cart_id:$cartId) { - ...CompleteCartData - } -}`; + query cart($cartId: String!) { + cart(cart_id:$cartId) { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } + }`; diff --git a/packages/api-client/src/api/categoryList/categoryList.ts b/packages/api-client/src/api/categoryList/categoryList.ts index d0cd08b26..45b9d1eec 100644 --- a/packages/api-client/src/api/categoryList/categoryList.ts +++ b/packages/api-client/src/api/categoryList/categoryList.ts @@ -1,25 +1,60 @@ import gql from 'graphql-tag'; -import CategoryData from '../../fragments/categoryDataFragment'; -import CategoryUrlData from '../../fragments/categoryUrlData'; export default gql` - ${CategoryData} - ${CategoryUrlData} - -query categoryList { - categories { - items { - children { - ...CategoryData - ...CategoryUrlData + query categoryList { + categories { + items { children { - ...CategoryData - ...CategoryUrlData + image + include_in_menu + is_anchor + level + name + position + product_count + uid + url_path + url_suffix + children { + image + include_in_menu + is_anchor + level + name + position + product_count + uid + url_path + url_suffix + children { + image + include_in_menu + is_anchor + level + name + position + product_count + uid + url_path + url_suffix + children { + image + include_in_menu + is_anchor + level + name + position + product_count + uid + url_path + url_suffix + } + } + } } + product_count + name + uid } - product_count - name - uid } - } -}`; + }`; diff --git a/packages/api-client/src/api/categorySearch/categorySearch.ts b/packages/api-client/src/api/categorySearch/categorySearch.ts index d3bdcb67c..d81510a73 100644 --- a/packages/api-client/src/api/categorySearch/categorySearch.ts +++ b/packages/api-client/src/api/categorySearch/categorySearch.ts @@ -1,14 +1,17 @@ import gql from 'graphql-tag'; -import CategoryData from '../../fragments/categoryDataFragment'; -import CategoryUrlData from '../../fragments/categoryUrlData'; export default gql` - ${CategoryData} - ${CategoryUrlData} - -query categorySearch($filters: CategoryFilterInput) { - categoryList(filters: $filters) { - ...CategoryData - ...CategoryUrlData - } -}`; + query categorySearch($filters: CategoryFilterInput) { + categoryList(filters: $filters) { + image + include_in_menu + is_anchor + level + name + position + product_count + uid + url_path + url_suffix + } + }`; diff --git a/packages/api-client/src/api/changeCustomerPassword/changeCustomerPassword.ts b/packages/api-client/src/api/changeCustomerPassword/changeCustomerPassword.ts index ecbfc571e..28729d0f3 100644 --- a/packages/api-client/src/api/changeCustomerPassword/changeCustomerPassword.ts +++ b/packages/api-client/src/api/changeCustomerPassword/changeCustomerPassword.ts @@ -1,13 +1,45 @@ import gql from 'graphql-tag'; -import CustomerData from '../../fragments/customerFragment'; export default gql` - ${CustomerData} -mutation changeCustomerPassword($currentPassword: String!, $newPassword: String!) { - changeCustomerPassword( - currentPassword: $currentPassword - newPassword: $newPassword - ) { - ...CustomerData - } -}`; + mutation changeCustomerPassword($currentPassword: String!, $newPassword: String!) { + changeCustomerPassword( + currentPassword: $currentPassword + newPassword: $newPassword + ) { + allow_remote_shopping_assistance + date_of_birth + default_billing + default_shipping + email + firstname + is_subscribed + lastname + middlename + prefix + suffix + taxvat + addresses { + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone + } + } + }`; diff --git a/packages/api-client/src/api/changeCustomerPassword/index.ts b/packages/api-client/src/api/changeCustomerPassword/index.ts index 59cfd1dd0..6d29d8fc6 100644 --- a/packages/api-client/src/api/changeCustomerPassword/index.ts +++ b/packages/api-client/src/api/changeCustomerPassword/index.ts @@ -2,7 +2,6 @@ import changeCustomerPassword from './changeCustomerPassword'; import { ChangeCustomerPasswordMutation, ChangeCustomerPasswordMutationVariables, - CustomerDataFragment as Customer, } from '../../types/GraphQL'; import { Context } from '../../types/context'; @@ -10,7 +9,7 @@ export default async ( { client }: Context, currentPassword: string, newPassword: string, -): Promise => { +): Promise => { const { data } = await client .mutate({ mutation: changeCustomerPassword, diff --git a/packages/api-client/src/api/configurableProductDetail/configurableProductDetailQuery.ts b/packages/api-client/src/api/configurableProductDetail/configurableProductDetailQuery.ts deleted file mode 100644 index 59b95fd24..000000000 --- a/packages/api-client/src/api/configurableProductDetail/configurableProductDetailQuery.ts +++ /dev/null @@ -1,35 +0,0 @@ -import gql from 'graphql-tag'; -import ConfigurableProductOptionsData from '../../fragments/configurableProductOptionsFragment'; -import ProductPriceRangeData from '../../fragments/productPriceRangeFragment'; - -export default gql` - ${ConfigurableProductOptionsData} - ${ProductPriceRangeData} -query configurableProductDetail($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput, $configurations: [ID!] ) { - products(search: $search, filter: $filter, sort: $sort, pageSize: $pageSize, currentPage: $currentPage) { - items { - uid - ...ConfigurableProductOptionsData - ... on ConfigurableProduct { - configurable_product_options_selection(configurableOptionValueUids: $configurations) { - options_available_for_selection { - attribute_code - option_value_uids - } - media_gallery { - disabled - label - position - url - } - variant { - uid - sku - name - ...ProductPriceRangeData - } - } - } - } - } -}`; diff --git a/packages/api-client/src/api/configurableProductDetail/index.ts b/packages/api-client/src/api/configurableProductDetail/index.ts deleted file mode 100644 index d73d44789..000000000 --- a/packages/api-client/src/api/configurableProductDetail/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -import gql from 'graphql-tag'; -import { ApolloQueryResult } from 'apollo-client'; -import { CustomQuery } from '@vue-storefront/core'; -import { - ConfigurableProductDetailQuery, - ProductAttributeFilterInput, - ProductAttributeSortInput, - ConfigurableProductDetailQueryVariables, -} from '../../types/GraphQL'; -import configurableProductDetailQuery from './configurableProductDetailQuery'; -import { Context } from '../../types/context'; -import { GetProductSearchParams } from '../../types/API'; - -type Variables = { - pageSize: number; - currentPage: number; - search?: string; - filter?: ProductAttributeFilterInput; - sort?: ProductAttributeSortInput; -}; - -export default async ( - context: Context, - searchParams?: GetProductSearchParams, - customQuery?: CustomQuery, -): Promise> => { - const defaultParams = { - pageSize: 20, - currentPage: 1, - ...searchParams, - }; - - const variables: Variables = { - pageSize: defaultParams.pageSize, - currentPage: defaultParams.currentPage, - }; - - if (defaultParams.search) variables.search = defaultParams.search; - - if (defaultParams.filter) variables.filter = defaultParams.filter; - - if (defaultParams.sort) variables.sort = defaultParams.sort; - - const { products } = context.extendQuery( - customQuery, { - products: { - query: configurableProductDetailQuery, - variables: defaultParams, - }, - }, - ); - - try { - return await context.client.query({ - query: gql`${products.query}`, - variables: products.variables, - fetchPolicy: 'no-cache', - }); - } catch (error) { - throw error.graphQLErrors?.[0].message || error.networkError?.result || error; - } -}; diff --git a/packages/api-client/src/api/createCustomer/createCustomer.ts b/packages/api-client/src/api/createCustomer/createCustomer.ts index e10d4b130..5288272f0 100644 --- a/packages/api-client/src/api/createCustomer/createCustomer.ts +++ b/packages/api-client/src/api/createCustomer/createCustomer.ts @@ -1,13 +1,44 @@ import gql from 'graphql-tag'; -import CustomerData from '../../fragments/customerFragment'; export default gql` - ${CustomerData} - -mutation createCustomer($input: CustomerCreateInput!) { - createCustomerV2(input: $input) { - customer { - ...CustomerData + mutation createCustomer($input: CustomerCreateInput!) { + createCustomerV2(input: $input) { + customer { + allow_remote_shopping_assistance + date_of_birth + default_billing + default_shipping + email + firstname + is_subscribed + lastname + middlename + prefix + suffix + taxvat + addresses { + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/customMutation/index.ts b/packages/api-client/src/api/customMutation/index.ts new file mode 100644 index 000000000..56074c01c --- /dev/null +++ b/packages/api-client/src/api/customMutation/index.ts @@ -0,0 +1,22 @@ +import gql from 'graphql-tag'; +import { FetchResult } from 'apollo-link'; +import { FetchPolicy } from 'apollo-client/core/watchQueryOptions'; +import { Context } from '../../types/context'; + +export default async ( + { client }: Context, + { + mutation, + mutationVariables, + fetchPolicy, + }: { + mutation: MUTATION, + mutationVariables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + }, +): Promise> => client + .mutate({ + mutation: gql`${mutation}`, + variables: { ...mutationVariables }, + fetchPolicy: fetchPolicy || 'no-cache', +}); diff --git a/packages/api-client/src/api/customQuery/index.ts b/packages/api-client/src/api/customQuery/index.ts new file mode 100644 index 000000000..62cdceff2 --- /dev/null +++ b/packages/api-client/src/api/customQuery/index.ts @@ -0,0 +1,22 @@ +import gql from 'graphql-tag'; +import { ApolloQueryResult } from 'apollo-client'; +import { FetchPolicy } from 'apollo-client/core/watchQueryOptions'; +import { Context } from '../../types/context'; + +export default async ( + { client }: Context, + { + query, + queryVariables, + fetchPolicy, + }: { + query: QUERY, + queryVariables?: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + }, +): Promise> => client + .query({ + query: gql`${query}`, + variables: { ...queryVariables }, + fetchPolicy: fetchPolicy || 'no-cache', +}); diff --git a/packages/api-client/src/api/customer/customer.ts b/packages/api-client/src/api/customer/customer.ts index f23b26599..70b285ce1 100644 --- a/packages/api-client/src/api/customer/customer.ts +++ b/packages/api-client/src/api/customer/customer.ts @@ -1,11 +1,43 @@ import gql from 'graphql-tag'; -import CustomerData from '../../fragments/customerFragment'; export default gql` -${CustomerData} -query customer { - customer { - ...CustomerData - is_subscribed - } -}`; + query customer { + customer { + allow_remote_shopping_assistance + date_of_birth + default_billing + default_shipping + email + firstname + is_subscribed + lastname + middlename + prefix + suffix + taxvat + addresses { + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone + } + is_subscribed + } + }`; diff --git a/packages/api-client/src/api/customerCart/customerCart.ts b/packages/api-client/src/api/customerCart/customerCart.ts index 257796355..55d8772e7 100644 --- a/packages/api-client/src/api/customerCart/customerCart.ts +++ b/packages/api-client/src/api/customerCart/customerCart.ts @@ -1,10 +1,180 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -query customerCart { - customerCart { - ...CompleteCartData - } -}`; + query customerCart { + customerCart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } + }`; diff --git a/packages/api-client/src/api/customerOrders/customerOrders.ts b/packages/api-client/src/api/customerOrders/customerOrders.ts index 0df2ca8e6..157c40b2d 100644 --- a/packages/api-client/src/api/customerOrders/customerOrders.ts +++ b/packages/api-client/src/api/customerOrders/customerOrders.ts @@ -1,81 +1,244 @@ import gql from 'graphql-tag'; -import InvoiceItemData from '../../fragments/invoiceItemFragment'; -import InvoiceTotalData from '../../fragments/invoiceTotalFragment'; -import OrderAddressData from '../../fragments/orderAddressFragment'; -import OrderItemData from '../../fragments/orderItemFragment'; -import OrderTotalData from '../../fragments/orderTotalFragment'; -import ShipmentItemData from '../../fragments/shipmentItemFragment'; export default gql` - ${InvoiceItemData} - ${InvoiceTotalData} - ${OrderAddressData} - ${OrderItemData} - ${OrderTotalData} - ${ShipmentItemData} - -query customerOrders($currentPage: Int = 1, $filter: CustomerOrdersFilterInput = {}, $pageSize: Int = 20) { - customer { - orders(currentPage: $currentPage, filter: $filter, pageSize: $pageSize) { - items { - order_number - id - created_at - grand_total - total { - ...OrderTotalData - } - status - comments { - message - timestamp - } - invoices { - comments { - message - timestamp - } + query customerOrders($currentPage: Int = 1, $filter: CustomerOrdersFilterInput = {}, $pageSize: Int = 20) { + customer { + orders(currentPage: $currentPage, filter: $filter, pageSize: $pageSize) { + items { + order_number id - items { - ...InvoiceItemData - } - number + created_at + grand_total total { - ...InvoiceTotalData - } - } - items { - ...OrderItemData - } - payment_methods { - name - type - additional_data { - name - value + discounts { + amount { + currency + value + } + label + } + base_grand_total { + currency + value + } + shipping_handling { + amount_excluding_tax { + currency + value + } + amount_including_tax { + currency + value + } + discounts { + amount { + currency + value + } + } + taxes { + amount{ + currency + value + } + rate + title + } + total_amount { + currency + value + } + } + subtotal { + currency + value + } + taxes { + amount { + currency + value + } + rate + title + } + total_shipping { + currency + value + } + total_tax { + currency + value + } } - } - shipments { + status comments { message timestamp } - id - number - tracking { - carrier + invoices { + comments { + message + timestamp + } + id + items { + discounts { + amount { + currency + value + } + label + } + id + product_name + product_sale_price { + currency + value + } + product_sku + quantity_invoiced + } number - title + total { + discounts { + amount { + currency + value + } + label + } + base_grand_total { + currency + value + } + shipping_handling { + amount_excluding_tax { + currency + value + } + amount_including_tax { + currency + value + } + discounts { + amount { + currency + value + } + } + taxes { + amount{ + currency + value + } + rate + title + } + total_amount { + currency + value + } + } + subtotal { + currency + value + } + taxes { + amount { + currency + value + } + rate + title + } + total_shipping { + currency + value + } + total_tax { + currency + value + } + } } items { - ...ShipmentItemData + discounts { + amount { + currency + value + } + label + } + entered_options { + label + value + } + id + product_name + product_sale_price { + currency + value + } + product_sku + product_type + product_url_key + quantity_canceled + quantity_invoiced + quantity_ordered + quantity_refunded + quantity_returned + quantity_shipped + selected_options { + label + value + } + status } + payment_methods { + name + type + additional_data { + name + value + } + } + shipments { + comments { + message + timestamp + } + id + number + tracking { + carrier + number + title + } + items { + id + product_name + product_sale_price { + currency + value + } + product_sku + quantity_shipped + } + } + shipping_address { + city + country_code + firstname + lastname + postcode + prefix + region + street + suffix + telephone + } + shipping_method } - shipping_address { - ...OrderAddressData - } - shipping_method } } - } -}`; + }`; diff --git a/packages/api-client/src/api/getCustomerAddresses/getCustomerAddresses.ts b/packages/api-client/src/api/getCustomerAddresses/getCustomerAddresses.ts index 68cbd1a95..be15ff5c8 100644 --- a/packages/api-client/src/api/getCustomerAddresses/getCustomerAddresses.ts +++ b/packages/api-client/src/api/getCustomerAddresses/getCustomerAddresses.ts @@ -1,12 +1,30 @@ import gql from 'graphql-tag'; -import CustomerAddressData from '../../fragments/addressFragment'; export default gql` - ${CustomerAddressData} query getCustomerAddresses { customer { addresses { - ...CustomerAddressData + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone } } }`; diff --git a/packages/api-client/src/api/groupedProductDetail/groupedProductDetailQuery.ts b/packages/api-client/src/api/groupedProductDetail/groupedProductDetailQuery.ts deleted file mode 100644 index ef25da700..000000000 --- a/packages/api-client/src/api/groupedProductDetail/groupedProductDetailQuery.ts +++ /dev/null @@ -1,59 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` - query groupedProductDetail($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput) { - products( - search: $search - filter: $filter - sort: $sort - pageSize: $pageSize - currentPage: $currentPage - ) { - items { - uid - ... on GroupedProduct { - items { - position - qty - product { - uid - __typename - sku - name - stock_status - only_x_left_in_stock - price_range { - maximum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - minimum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - } - thumbnail { - url - position - disabled - label - } - } - } - } - } - } - } -`; diff --git a/packages/api-client/src/api/groupedProductDetail/index.ts b/packages/api-client/src/api/groupedProductDetail/index.ts deleted file mode 100644 index 790b85b61..000000000 --- a/packages/api-client/src/api/groupedProductDetail/index.ts +++ /dev/null @@ -1,61 +0,0 @@ -import gql from 'graphql-tag'; -import { ApolloQueryResult } from 'apollo-client'; -import { CustomQuery } from '@vue-storefront/core'; -import { - ProductAttributeFilterInput, - ProductAttributeSortInput, - GroupedProductDetailQuery, - GroupedProductDetailQueryVariables, -} from '../../types/GraphQL'; -import groupedProductDetailQuery from './groupedProductDetailQuery'; -import { Context } from '../../types/context'; -import { GetProductSearchParams } from '../../types/API'; - -type Variables = { - pageSize: number; - currentPage: number; - search?: string; - filter?: ProductAttributeFilterInput; - sort?: ProductAttributeSortInput; -}; - -export default async ( - context: Context, - searchParams?: GetProductSearchParams, - customQuery?: CustomQuery, -): Promise> => { - const defaultParams = { - pageSize: 20, - currentPage: 1, - ...searchParams, - }; - - const variables: Variables = { - pageSize: defaultParams.pageSize, - currentPage: defaultParams.currentPage, - }; - - if (defaultParams.search) variables.search = defaultParams.search; - - if (defaultParams.filter) variables.filter = defaultParams.filter; - - if (defaultParams.sort) variables.sort = defaultParams.sort; - - const { products } = context.extendQuery( - customQuery, { - products: { - query: groupedProductDetailQuery, - variables: defaultParams, - }, - }, - ); - try { - return await context.client.query({ - query: gql`${products.query}`, - variables: products.variables, - fetchPolicy: 'no-cache', - }); - } catch (error) { - throw error.graphQLErrors?.[0].message || error.networkError?.result || error; - } -}; diff --git a/packages/api-client/src/api/index.ts b/packages/api-client/src/api/index.ts index 0ff24e187..4882d0567 100644 --- a/packages/api-client/src/api/index.ts +++ b/packages/api-client/src/api/index.ts @@ -4,14 +4,12 @@ export { default as addProductsToCart } from './addProductsToCart'; export { default as addProductToWishList } from './addProductToWishList'; export { default as addSimpleProductsToCart } from './addSimpleProductsToCart'; export { default as applyCouponToCart } from './applyCouponToCart'; -export { default as bundleProductDetail } from './bundleProductDetail'; export { default as cart } from './cart'; export { default as categoryList } from './categoryList'; export { default as categorySearch } from './categorySearch'; export { default as changeCustomerPassword } from './changeCustomerPassword'; export { default as cmsBlocks } from './cmsBlocks'; export { default as cmsPage } from './cmsPage'; -export { default as configurableProductDetail } from './configurableProductDetail'; export { default as countries } from './countries'; export { default as country } from './country'; export { default as createCustomer } from './createCustomer'; @@ -22,6 +20,8 @@ export { default as customer } from './customer'; export { default as customerCart } from './customerCart'; export { default as customerOrders } from './customerOrders'; export { default as customerProductReview } from './customerProductReview'; +export { default as customMutation } from './customMutation'; +export { default as customQuery } from './customQuery'; export { default as deleteCustomerAddress } from './deleteCustomerAddress'; export { default as generateCustomerToken } from './generateCustomerToken'; export { default as getAvailableCustomerPaymentMethods } from './getAvailableCustomerPaymentMethods'; @@ -29,7 +29,6 @@ export { default as getAvailableCustomerShippingMethods } from './getAvailableCu export { default as getAvailablePaymentMethods } from './getAvailablePaymentMethods'; export { default as getAvailableShippingMethods } from './getAvailableShippingMethods'; export { default as getCustomerAddresses } from './getCustomerAddresses'; -export { default as groupedProductDetail } from './groupedProductDetail'; export { default as mergeCarts } from './mergeCarts'; export { default as placeOrder } from './placeOrder'; export { default as productDetail } from './productDetail'; @@ -41,6 +40,7 @@ export { default as removeCouponFromCart } from './removeCouponFromCart'; export { default as removeItemFromCart } from './removeItemFromCart'; export { default as removeProductsFromWishlist } from './removeProductsFromWishlist'; export { default as requestPasswordResetEmail } from './requestPasswordResetEmail'; +export { default as resetPassword } from './resetPassword'; export { default as revokeCustomerToken } from './revokeCustomerToken'; export { default as setBillingAddressOnCart } from './setBillingAddressOnCart'; export { default as setGuestEmailOnCart } from './setGuestEmailOnCart'; diff --git a/packages/api-client/src/api/mergeCarts/mergeCarts.ts b/packages/api-client/src/api/mergeCarts/mergeCarts.ts index 192bb9ae5..8dda4bfe1 100644 --- a/packages/api-client/src/api/mergeCarts/mergeCarts.ts +++ b/packages/api-client/src/api/mergeCarts/mergeCarts.ts @@ -1,11 +1,180 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} - -mutation mergeCarts($sourceCartId: String!, $destinationCartId: String!) { - mergeCarts(source_cart_id: $sourceCartId, destination_cart_id: $destinationCartId) { - ...CompleteCartData - } -}`; + mutation mergeCarts($sourceCartId: String!, $destinationCartId: String!) { + mergeCarts(source_cart_id: $sourceCartId, destination_cart_id: $destinationCartId) { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } + }`; diff --git a/packages/api-client/src/api/productDetail/productDetailsQuery.ts b/packages/api-client/src/api/productDetail/productDetailsQuery.ts index 51a617cc7..1e33f7486 100644 --- a/packages/api-client/src/api/productDetail/productDetailsQuery.ts +++ b/packages/api-client/src/api/productDetail/productDetailsQuery.ts @@ -1,37 +1,297 @@ import gql from 'graphql-tag'; -import ProductData from '../../fragments/productFragment'; -import ProductGalleryData from '../../fragments/productGalleryFragment'; -import ProductImagesData from '../../fragments/productImageFragment'; -import ProductPriceRangeData from '../../fragments/productPriceRangeFragment'; -import ProductThumbnailData from '../../fragments/productThumbnailFragment'; -import ProductUrlFragmentData from '../../fragments/productUrlFragment'; export default gql` - ${ProductData} - ${ProductGalleryData} - ${ProductImagesData} - ${ProductPriceRangeData} - ${ProductThumbnailData} - ${ProductUrlFragmentData} -query productDetails($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput) { - products(search: $search, filter: $filter, sort: $sort, pageSize: $pageSize, currentPage: $currentPage) { - items { - options_container - meta_description - meta_keyword - meta_title - description { - html + query productDetails( + $search: String = "", + $filter: ProductAttributeFilterInput, + $pageSize: Int = 20, + $currentPage: Int = 1, + $sort: ProductAttributeSortInput + $configurations: [ID!] + ) { + products(search: $search, filter: $filter, sort: $sort, pageSize: $pageSize, currentPage: $currentPage) { + items { + uid + sku + name + stock_status + only_x_left_in_stock + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + rating_summary + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + small_image { + url + position + disabled + label + } + image { + url + position + disabled + label + } + media_gallery { + url + position + disabled + label + } + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + meta_description + meta_keyword + meta_title + description { + html + } + short_description { + html + } + options_container + special_to_date + ... on BundleProduct { + items { + position + required + sku + title + type + uid + options { + can_change_quantity + is_default + position + uid + quantity + product { + uid + sku + name + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + } + } + } + } + ... on ConfigurableProduct { + configurable_options { + attribute_code + attribute_uid + label + position + uid + use_default + values { + label + swatch_data { + value + } + uid + } + } + configurable_product_options_selection(configurableOptionValueUids: $configurations) { + options_available_for_selection { + attribute_code + option_value_uids + } + media_gallery { + disabled + label + position + url + } + variant { + uid + sku + name + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + } + } + } + ... on GroupedProduct { + items { + position + qty + product { + uid + sku + name + stock_status + only_x_left_in_stock + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + thumbnail { + url + position + disabled + label + } + } + } + } + ... on DownloadableProduct { + downloadable_product_samples { + sample_url + title + } + downloadable_product_links { + price + title + uid + } + } + ... on VirtualProduct { + gift_message_available + product_links { + link_type + linked_product_sku + linked_product_type + position + sku + } + } } - short_description { - html - } - ...ProductData - ...ProductPriceRangeData - ...ProductImagesData - ...ProductGalleryData - ...ProductThumbnailData - ...ProductUrlFragmentData } - } -}`; + }`; diff --git a/packages/api-client/src/api/products/productsList.ts b/packages/api-client/src/api/products/productsList.ts index 545dc1519..b76909f5a 100644 --- a/packages/api-client/src/api/products/productsList.ts +++ b/packages/api-client/src/api/products/productsList.ts @@ -1,27 +1,82 @@ import gql from 'graphql-tag'; -import ProductData from '../../fragments/productFragment'; export default gql` - ${ProductData} -query productsList($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput) { - products(search: $search, filter: $filter, pageSize: $pageSize, currentPage: $currentPage, sort: $sort) { - aggregations { - attribute_code - label - options { + query productsList($search: String = "", $filter: ProductAttributeFilterInput, $pageSize: Int = 20, $currentPage: Int = 1, $sort: ProductAttributeSortInput) { + products(search: $search, filter: $filter, pageSize: $pageSize, currentPage: $currentPage, sort: $sort) { + aggregations { + attribute_code label - value - count + options { + label + value + count + } } + items { + uid + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + page_info { + current_page + page_size + total_pages + } + total_count } - items { - ...ProductData - } - page_info { - current_page - page_size - total_pages - } - total_count - } -}`; + }`; diff --git a/packages/api-client/src/api/relatedProduct/relatedProduct.ts b/packages/api-client/src/api/relatedProduct/relatedProduct.ts index 151054b1c..238969a98 100644 --- a/packages/api-client/src/api/relatedProduct/relatedProduct.ts +++ b/packages/api-client/src/api/relatedProduct/relatedProduct.ts @@ -1,9 +1,6 @@ import gql from 'graphql-tag'; -import ProductData from '../../fragments/productFragment'; -export default gql` - ${ProductData} - +export default gql` query relatedProduct( $search: String = "" $filter: ProductAttributeFilterInput @@ -20,7 +17,65 @@ query relatedProduct( ) { items { related_products { - ...ProductData + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } } uid } diff --git a/packages/api-client/src/api/removeCouponFromCart/removeCouponFromCart.ts b/packages/api-client/src/api/removeCouponFromCart/removeCouponFromCart.ts index 38f893fe8..e956e1444 100644 --- a/packages/api-client/src/api/removeCouponFromCart/removeCouponFromCart.ts +++ b/packages/api-client/src/api/removeCouponFromCart/removeCouponFromCart.ts @@ -1,13 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} - -mutation removeCouponFromCart($input: RemoveCouponFromCartInput) { - removeCouponFromCart(input: $input) { - cart { - ...CompleteCartData + mutation removeCouponFromCart($input: RemoveCouponFromCartInput) { + removeCouponFromCart(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/removeItemFromCart/removeItemFromCart.ts b/packages/api-client/src/api/removeItemFromCart/removeItemFromCart.ts index 8c4af14e7..5fd9293a6 100644 --- a/packages/api-client/src/api/removeItemFromCart/removeItemFromCart.ts +++ b/packages/api-client/src/api/removeItemFromCart/removeItemFromCart.ts @@ -1,12 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -mutation removeItemFromCart($input: RemoveItemFromCartInput) { - removeItemFromCart(input: $input) { - cart { - ...CompleteCartData + mutation removeItemFromCart($input: RemoveItemFromCartInput) { + removeItemFromCart(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/removeProductsFromWishlist/removeProductsFromWishlist.ts b/packages/api-client/src/api/removeProductsFromWishlist/removeProductsFromWishlist.ts index 7017269ad..80eab4fd2 100644 --- a/packages/api-client/src/api/removeProductsFromWishlist/removeProductsFromWishlist.ts +++ b/packages/api-client/src/api/removeProductsFromWishlist/removeProductsFromWishlist.ts @@ -1,13 +1,140 @@ import gql from 'graphql-tag'; -import WishlistData from '../../fragments/wishlistDataFragment'; export default gql` - ${WishlistData} - -mutation removeProductsFromWishlist($id: ID!, $items: [ID!]!) { - removeProductsFromWishlist(wishlistId: $id, wishlistItemsIds: $items) { - wishlist { - ...WishlistData + mutation removeProductsFromWishlist($id: ID!, $items: [ID!]!) { + removeProductsFromWishlist(wishlistId: $id, wishlistItemsIds: $items) { + wishlist { + id + items_count + sharing_code + items_v2 { + items { + id + quantity + description + added_at + product { + ...on ConfigurableProduct { + configurable_options { + attribute_code + attribute_uid + label + position + uid + use_default + values { + label + swatch_data { + value + } + uid + } + } + } + ... on BundleProduct { + items { + sku + title + options { + uid + quantity + product { + uid + sku + name + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + } + } + } + } + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + } + page_info { + current_page + page_size + total_pages + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/requestPasswordResetEmail/index.ts b/packages/api-client/src/api/requestPasswordResetEmail/index.ts index 316e0f863..3c0e31974 100644 --- a/packages/api-client/src/api/requestPasswordResetEmail/index.ts +++ b/packages/api-client/src/api/requestPasswordResetEmail/index.ts @@ -1,6 +1,7 @@ +import gql from 'graphql-tag'; import { FetchResult } from '@apollo/client'; -import { Logger } from '@vue-storefront/core'; -import requestPasswordResetEmail from './requestPasswordResetEmail'; +import { CustomQuery, Logger } from '@vue-storefront/core'; +import requestPasswordResetEmailMutation from './requestPasswordResetEmail'; import { RequestPasswordResetEmailMutation, RequestPasswordResetEmailMutationVariables, @@ -8,15 +9,25 @@ import { import { Context } from '../../types/context'; export default async ( - { client }: Context, + context: Context, input: RequestPasswordResetEmailMutationVariables, + customQuery?: CustomQuery, ): Promise> => { + const { requestPasswordResetEmail } = context.extendQuery( + customQuery, { + requestPasswordResetEmail: { + query: requestPasswordResetEmailMutation, + variables: input, + }, + }, + ); + try { Logger.debug('[VSF: Magento] requestPasswordResetEmail', JSON.stringify(input, null, 2)); - const result = await client + const result = await context.client .mutate({ - mutation: requestPasswordResetEmail, - variables: input, + mutation: gql`${requestPasswordResetEmail.query}`, + variables: requestPasswordResetEmail.variables, }); if (!result.data.requestPasswordResetEmail) throw new Error('Email was not found, or not available.'); diff --git a/packages/api-client/src/api/resetPassword/index.ts b/packages/api-client/src/api/resetPassword/index.ts new file mode 100644 index 000000000..7d6d4c37c --- /dev/null +++ b/packages/api-client/src/api/resetPassword/index.ts @@ -0,0 +1,49 @@ +import { FetchResult } from '@apollo/client'; +import { CustomQuery, Logger } from '@vue-storefront/core'; +import gql from 'graphql-tag'; +import resetPasswordMutation from './resetPassword'; +import { + ResetPasswordMutation, + ResetPasswordMutationVariables, +} from '../../types/GraphQL'; +import { Context } from '../../types/context'; + +export default async ( + context: Context, + input: ResetPasswordMutationVariables, + customQuery?: CustomQuery, +): Promise> => { + const { resetPassword } = context.extendQuery( + customQuery, { + resetPassword: { + query: resetPasswordMutation, + variables: input, + }, + }, + ); + + try { + Logger.debug('[VSF: Magento] requestPasswordResetEmail', JSON.stringify(input, null, 2)); + const result = await context.client + .mutate({ + mutation: gql`${resetPassword.query}`, + variables: resetPassword.variables, + }); + + if (!result.data.resetPassword) throw new Error('It was not possible to change the user password.'); + + return result; + } catch (error) { + // For error in data we don't throw 500, because it's not server error + if (error.graphQLErrors) { + Logger.debug(error); + + return { + errors: error.graphQLErrors, + data: null, + }; + } + Logger.error(error); + throw error.networkError?.result || error; + } +}; diff --git a/packages/api-client/src/api/resetPassword/resetPassword.ts b/packages/api-client/src/api/resetPassword/resetPassword.ts new file mode 100644 index 000000000..9ae5bfa28 --- /dev/null +++ b/packages/api-client/src/api/resetPassword/resetPassword.ts @@ -0,0 +1,7 @@ +import gql from 'graphql-tag'; + +export default gql` + mutation resetPassword($email: String!, $newPassword: String!, $resetPasswordToken: String!){ + resetPassword(email: $email, newPassword: $newPassword, resetPasswordToken: $resetPasswordToken) + } +`; diff --git a/packages/api-client/src/api/setShippingMethodsOnCart/setShippingMethodsOnCart.ts b/packages/api-client/src/api/setShippingMethodsOnCart/setShippingMethodsOnCart.ts index 69c65cd4d..83816d666 100644 --- a/packages/api-client/src/api/setShippingMethodsOnCart/setShippingMethodsOnCart.ts +++ b/packages/api-client/src/api/setShippingMethodsOnCart/setShippingMethodsOnCart.ts @@ -1,21 +1,182 @@ import gql from 'graphql-tag'; export default gql` -mutation setShippingMethodsOnCart($input: SetShippingMethodsOnCartInput) { - setShippingMethodsOnCart(input: $input) { - cart { - shipping_addresses { - selected_shipping_method { - carrier_code - carrier_title - method_code - method_title - amount { + mutation setShippingMethodsOnCart($input: SetShippingMethodsOnCartInput) { + setShippingMethodsOnCart(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { value - currency + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label } } } } - } -}`; + }`; diff --git a/packages/api-client/src/api/updateCartItems/updateCartItems.ts b/packages/api-client/src/api/updateCartItems/updateCartItems.ts index 6e4e57fb9..73aaa0679 100644 --- a/packages/api-client/src/api/updateCartItems/updateCartItems.ts +++ b/packages/api-client/src/api/updateCartItems/updateCartItems.ts @@ -1,12 +1,182 @@ import gql from 'graphql-tag'; -import CompleteCartData from '../../fragments/completeCartFragment'; export default gql` - ${CompleteCartData} -mutation updateCartItems($input: UpdateCartItemsInput) { - updateCartItems(input: $input) { - cart { - ...CompleteCartData + mutation updateCartItems($input: UpdateCartItemsInput) { + updateCartItems(input: $input) { + cart { + id + email + is_virtual + applied_coupons { + code + } + prices { + subtotal_excluding_tax { + value + }, + subtotal_including_tax { + value + }, + applied_taxes { + amount { + value + }, + label + } + discounts { + amount { + value + }, + label + } + grand_total { + value + } + } + items { + uid + product { + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + prices { + row_total { + value + } + row_total_including_tax { + value + } + total_item_discount { + value + } + } + quantity + ... on ConfigurableCartItem { + configurable_options { + configurable_product_option_uid + option_label + configurable_product_option_value_uid + value_label + } + } + ... on BundleCartItem { + bundle_options { + uid + label + type + values { + id + label + price + quantity + } + } + } + } + total_quantity + shipping_addresses { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + selected_shipping_method { + carrier_code + carrier_title + method_code + method_title + amount { + value + currency + } + } + } + billing_address { + firstname + lastname + street + city + company + region { + code + region_id + label + } + postcode + telephone + country { + code + label + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/updateCustomer/updateCustomer.ts b/packages/api-client/src/api/updateCustomer/updateCustomer.ts index 1c793271c..6d78cfc70 100644 --- a/packages/api-client/src/api/updateCustomer/updateCustomer.ts +++ b/packages/api-client/src/api/updateCustomer/updateCustomer.ts @@ -1,12 +1,44 @@ import gql from 'graphql-tag'; -import CustomerData from '../../fragments/customerFragment'; export default gql` - ${CustomerData} -mutation updateCustomer($input: CustomerUpdateInput!) { - updateCustomerV2(input: $input) { - customer { - ...CustomerData + mutation updateCustomer($input: CustomerUpdateInput!) { + updateCustomerV2(input: $input) { + customer { + allow_remote_shopping_assistance + date_of_birth + default_billing + default_shipping + email + firstname + is_subscribed + lastname + middlename + prefix + suffix + taxvat + addresses { + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/updateCustomerEmail/updateCustomerEmail.ts b/packages/api-client/src/api/updateCustomerEmail/updateCustomerEmail.ts index e528b0a3c..816d2172a 100644 --- a/packages/api-client/src/api/updateCustomerEmail/updateCustomerEmail.ts +++ b/packages/api-client/src/api/updateCustomerEmail/updateCustomerEmail.ts @@ -1,12 +1,44 @@ import gql from 'graphql-tag'; -import CustomerData from '../../fragments/customerFragment'; export default gql` - ${CustomerData} -mutation updateCustomerEmail($email: String!, $password: String!) { - updateCustomerEmail(email: $email, password: $password){ - customer { - ...CustomerData + mutation updateCustomerEmail($email: String!, $password: String!) { + updateCustomerEmail(email: $email, password: $password){ + customer { + allow_remote_shopping_assistance + date_of_birth + default_billing + default_shipping + email + firstname + is_subscribed + lastname + middlename + prefix + suffix + taxvat + addresses { + city + country_code + default_billing + default_shipping + extension_attributes { + attribute_code + value + } + firstname + id + lastname + postcode + prefix + region { + region_code + region_id + region + } + street + suffix + telephone + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/api/upsellProduct/upsellProducts.ts b/packages/api-client/src/api/upsellProduct/upsellProducts.ts index d884e6c20..27827582f 100644 --- a/packages/api-client/src/api/upsellProduct/upsellProducts.ts +++ b/packages/api-client/src/api/upsellProduct/upsellProducts.ts @@ -1,9 +1,6 @@ import gql from 'graphql-tag'; -import ProductData from '../../fragments/productFragment'; export default gql` - ${ProductData} - query upsellProducts( $search: String = "" $filter: ProductAttributeFilterInput @@ -20,7 +17,65 @@ query upsellProducts( ){ items { upsell_products { - ...ProductData + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } } uid } diff --git a/packages/api-client/src/api/wishlist/wishlist.ts b/packages/api-client/src/api/wishlist/wishlist.ts index b36e70025..488f6c647 100644 --- a/packages/api-client/src/api/wishlist/wishlist.ts +++ b/packages/api-client/src/api/wishlist/wishlist.ts @@ -1,13 +1,140 @@ import gql from 'graphql-tag'; -import WishlistData from '../../fragments/wishlistDataFragment'; export default gql` - ${WishlistData} - query wishlist($currentPage: Int = 1, $pageSize: Int = 20) { - customer { - wishlists(currentPage: $currentPage, pageSize: $pageSize) { - ...WishlistData + customer { + wishlists(currentPage: $currentPage, pageSize: $pageSize) { + id + items_count + sharing_code + items_v2 { + items { + id + quantity + description + added_at + product { + ...on ConfigurableProduct { + configurable_options { + attribute_code + attribute_uid + label + position + uid + use_default + values { + label + swatch_data { + value + } + uid + } + } + } + ... on BundleProduct { + items { + sku + title + options { + uid + quantity + product { + uid + sku + name + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + } + } + } + } + uid + __typename + sku + name + stock_status + only_x_left_in_stock + rating_summary + categories { + uid + name + url_suffix + url_path + breadcrumbs { + category_name, + category_url_path + } + } + price_range { + maximum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + minimum_price { + final_price { + currency + value + } + regular_price { + currency + value + } + } + } + thumbnail { + url + position + disabled + label + } + url_key + url_rewrites { + url + } + review_count + reviews { + items { + average_rating + ratings_breakdown { + name + value + } + } + } + } + } + page_info { + current_page + page_size + total_pages + } + } + } } - } -}`; + }`; diff --git a/packages/api-client/src/fragments/addressFragment.ts b/packages/api-client/src/fragments/addressFragment.ts deleted file mode 100644 index a8e04fb4c..000000000 --- a/packages/api-client/src/fragments/addressFragment.ts +++ /dev/null @@ -1,26 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` - fragment CustomerAddressData on CustomerAddress { - city - country_code - default_billing - default_shipping - extension_attributes { - attribute_code - value - } - firstname - id - lastname - postcode - prefix - region { - region_code - region_id - region - } - street - suffix - telephone -}`; diff --git a/packages/api-client/src/fragments/cartAddressFragment.ts b/packages/api-client/src/fragments/cartAddressFragment.ts deleted file mode 100644 index a75ea7768..000000000 --- a/packages/api-client/src/fragments/cartAddressFragment.ts +++ /dev/null @@ -1,21 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` - fragment CartAddress on CartAddressInterface { - firstname - lastname - street - city - company - region { - code - region_id - label - } - postcode - telephone - country { - code - label - } -}`; diff --git a/packages/api-client/src/fragments/cartFragment.ts b/packages/api-client/src/fragments/cartFragment.ts deleted file mode 100644 index c824e1d7c..000000000 --- a/packages/api-client/src/fragments/cartFragment.ts +++ /dev/null @@ -1,39 +0,0 @@ -import gql from 'graphql-tag'; -import CartProductData from './cartProductFragment'; - -export default gql` - ${CartProductData} - - fragment CartData on Cart { - id - applied_coupons { - code - } - prices { - subtotal_excluding_tax { - value - }, - subtotal_including_tax { - value - }, - applied_taxes { - amount { - value - }, - label - } - discounts { - amount { - value - }, - label - } - grand_total { - value - } - } - items { - ...CartProductData - } - total_quantity - }`; diff --git a/packages/api-client/src/fragments/cartProductFragment.ts b/packages/api-client/src/fragments/cartProductFragment.ts deleted file mode 100644 index def04eda5..000000000 --- a/packages/api-client/src/fragments/cartProductFragment.ts +++ /dev/null @@ -1,24 +0,0 @@ -import gql from 'graphql-tag'; -import ProductData from './productFragment'; - -export default gql` - ${ProductData} - - fragment CartProductData on CartItemInterface { - uid - product { - ...ProductData - } - prices { - row_total { - value - } - row_total_including_tax { - value - } - total_item_discount { - value - } - } - quantity -}`; diff --git a/packages/api-client/src/fragments/categoryDataFragment.ts b/packages/api-client/src/fragments/categoryDataFragment.ts deleted file mode 100644 index 9ba2dea4a..000000000 --- a/packages/api-client/src/fragments/categoryDataFragment.ts +++ /dev/null @@ -1,12 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql`fragment CategoryData on CategoryTree { - image - include_in_menu - is_anchor - level - name - position - product_count - uid -}`; diff --git a/packages/api-client/src/fragments/categoryUrlData.ts b/packages/api-client/src/fragments/categoryUrlData.ts deleted file mode 100644 index ed3b06152..000000000 --- a/packages/api-client/src/fragments/categoryUrlData.ts +++ /dev/null @@ -1,6 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql`fragment CategoryUrlData on CategoryTree { - url_path - url_suffix -}`; diff --git a/packages/api-client/src/fragments/completeCartFragment.ts b/packages/api-client/src/fragments/completeCartFragment.ts deleted file mode 100644 index fcb1c8963..000000000 --- a/packages/api-client/src/fragments/completeCartFragment.ts +++ /dev/null @@ -1,79 +0,0 @@ -import gql from 'graphql-tag'; -import CartProductData from './cartProductFragment'; -import CartAddress from './cartAddressFragment'; - -export default gql` - ${CartAddress} - ${CartProductData} - fragment CompleteCartData on Cart { - id - email - is_virtual - applied_coupons { - code - } - prices { - subtotal_excluding_tax { - value - }, - subtotal_including_tax { - value - }, - applied_taxes { - amount { - value - }, - label - } - discounts { - amount { - value - }, - label - } - grand_total { - value - } - } - items { - ...CartProductData - ... on ConfigurableCartItem { - configurable_options { - configurable_product_option_uid - option_label - configurable_product_option_value_uid - value_label - } - } - ... on BundleCartItem { - bundle_options { - uid - label - type - values { - id - label - price - quantity - } - } - } - } - total_quantity - shipping_addresses { - ...CartAddress - selected_shipping_method { - carrier_code - carrier_title - method_code - method_title - amount { - value - currency - } - } - } - billing_address { - ...CartAddress - } -}`; diff --git a/packages/api-client/src/fragments/configurableProductOptionsFragment.ts b/packages/api-client/src/fragments/configurableProductOptionsFragment.ts deleted file mode 100644 index a0657bf21..000000000 --- a/packages/api-client/src/fragments/configurableProductOptionsFragment.ts +++ /dev/null @@ -1,19 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql`fragment ConfigurableProductOptionsData on ConfigurableProduct{ - configurable_options { - attribute_code - attribute_uid - label - position - uid - use_default - values { - label - swatch_data { - value - } - uid - } - } -}`; diff --git a/packages/api-client/src/fragments/customerFragment.ts b/packages/api-client/src/fragments/customerFragment.ts deleted file mode 100644 index 9d6004e10..000000000 --- a/packages/api-client/src/fragments/customerFragment.ts +++ /dev/null @@ -1,23 +0,0 @@ -import gql from 'graphql-tag'; -import CustomerAddressData from './addressFragment'; - -export default gql` - ${CustomerAddressData} - - fragment CustomerData on Customer { - allow_remote_shopping_assistance - date_of_birth - default_billing - default_shipping - email - firstname - is_subscribed - lastname - middlename - prefix - suffix - taxvat - addresses { - ...CustomerAddressData - } -}`; diff --git a/packages/api-client/src/fragments/invoiceItemFragment.ts b/packages/api-client/src/fragments/invoiceItemFragment.ts deleted file mode 100644 index 872ce7587..000000000 --- a/packages/api-client/src/fragments/invoiceItemFragment.ts +++ /dev/null @@ -1,20 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment InvoiceItemData on InvoiceItemInterface { - discounts { - amount { - currency - value - } - label - } - id - product_name - product_sale_price { - currency - value - } - product_sku - quantity_invoiced -}`; diff --git a/packages/api-client/src/fragments/invoiceTotalFragment.ts b/packages/api-client/src/fragments/invoiceTotalFragment.ts deleted file mode 100644 index f5ef24889..000000000 --- a/packages/api-client/src/fragments/invoiceTotalFragment.ts +++ /dev/null @@ -1,64 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment InvoiceTotalData on InvoiceTotal { - discounts { - amount { - currency - value - } - label - } - base_grand_total { - currency - value - } - shipping_handling { - amount_excluding_tax { - currency - value - } - amount_including_tax { - currency - value - } - discounts { - amount { - currency - value - } - } - taxes { - amount{ - currency - value - } - rate - title - } - total_amount { - currency - value - } - } - subtotal { - currency - value - } - taxes { - amount { - currency - value - } - rate - title - } - total_shipping { - currency - value - } - total_tax { - currency - value - } -}`; diff --git a/packages/api-client/src/fragments/orderAddressFragment.ts b/packages/api-client/src/fragments/orderAddressFragment.ts deleted file mode 100644 index d021d8339..000000000 --- a/packages/api-client/src/fragments/orderAddressFragment.ts +++ /dev/null @@ -1,15 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment OrderAddressData on OrderAddress { - city - country_code - firstname - lastname - postcode - prefix - region - street - suffix - telephone -}`; diff --git a/packages/api-client/src/fragments/orderItemFragment.ts b/packages/api-client/src/fragments/orderItemFragment.ts deleted file mode 100644 index 6f307759c..000000000 --- a/packages/api-client/src/fragments/orderItemFragment.ts +++ /dev/null @@ -1,36 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment OrderItemData on OrderItemInterface { - discounts { - amount { - currency - value - } - label - } - entered_options { - label - value - } - id - product_name - product_sale_price { - currency - value - } - product_sku - product_type - product_url_key - quantity_canceled - quantity_invoiced - quantity_ordered - quantity_refunded - quantity_returned - quantity_shipped - selected_options { - label - value - } - status -}`; diff --git a/packages/api-client/src/fragments/orderTotalFragment.ts b/packages/api-client/src/fragments/orderTotalFragment.ts deleted file mode 100644 index c4f5f85ee..000000000 --- a/packages/api-client/src/fragments/orderTotalFragment.ts +++ /dev/null @@ -1,64 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment OrderTotalData on OrderTotal { - discounts { - amount { - currency - value - } - label - } - base_grand_total { - currency - value - } - shipping_handling { - amount_excluding_tax { - currency - value - } - amount_including_tax { - currency - value - } - discounts { - amount { - currency - value - } - } - taxes { - amount{ - currency - value - } - rate - title - } - total_amount { - currency - value - } - } - subtotal { - currency - value - } - taxes { - amount { - currency - value - } - rate - title - } - total_shipping { - currency - value - } - total_tax { - currency - value - } -}`; diff --git a/packages/api-client/src/fragments/productCategoriesFragment.ts b/packages/api-client/src/fragments/productCategoriesFragment.ts deleted file mode 100644 index 01a79bee7..000000000 --- a/packages/api-client/src/fragments/productCategoriesFragment.ts +++ /dev/null @@ -1,15 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ProductCategoriesData on ProductInterface { - categories { - uid - name - url_suffix - url_path - breadcrumbs { - category_name, - category_url_path - } - } -}`; diff --git a/packages/api-client/src/fragments/productFragment.ts b/packages/api-client/src/fragments/productFragment.ts deleted file mode 100644 index 0361f5a81..000000000 --- a/packages/api-client/src/fragments/productFragment.ts +++ /dev/null @@ -1,38 +0,0 @@ -import gql from 'graphql-tag'; -import ProductThumbnailData from './productThumbnailFragment'; -import ProductPriceRangeData from './productPriceRangeFragment'; -import ProductUrlFragmentData from './productUrlFragment'; -import ProductCategoriesData from './productCategoriesFragment'; -import ConfigurableProductOptionsData from './configurableProductOptionsFragment'; - -export default gql` - ${ProductThumbnailData} - ${ProductPriceRangeData} - ${ProductUrlFragmentData} - ${ProductCategoriesData} - ${ConfigurableProductOptionsData} - -fragment ProductData on ProductInterface { - uid - __typename - sku - name - stock_status - only_x_left_in_stock - rating_summary - ...ProductThumbnailData - ...ProductPriceRangeData - ...ProductUrlFragmentData - ...ProductCategoriesData - ...ConfigurableProductOptionsData - review_count - reviews { - items { - average_rating - ratings_breakdown { - name - value - } - } - } -}`; diff --git a/packages/api-client/src/fragments/productGalleryFragment.ts b/packages/api-client/src/fragments/productGalleryFragment.ts deleted file mode 100644 index 6b4a99db8..000000000 --- a/packages/api-client/src/fragments/productGalleryFragment.ts +++ /dev/null @@ -1,11 +0,0 @@ -import gql from 'graphql-tag'; -import ProductMediaConfigurationData from './productMediaConfigurationFragment'; - -export default gql` - ${ProductMediaConfigurationData} - -fragment ProductGalleryData on ProductInterface { - media_gallery { - ...ProductMediaConfigurationData - } -}`; diff --git a/packages/api-client/src/fragments/productImageFragment.ts b/packages/api-client/src/fragments/productImageFragment.ts deleted file mode 100644 index d8be94adc..000000000 --- a/packages/api-client/src/fragments/productImageFragment.ts +++ /dev/null @@ -1,14 +0,0 @@ -import gql from 'graphql-tag'; -import ProductMediaConfigurationData from './productMediaConfigurationFragment'; - -export default gql` - ${ProductMediaConfigurationData} - -fragment ProductImagesData on ProductInterface { - small_image { - ...ProductMediaConfigurationData - } - image { - ...ProductMediaConfigurationData - } -}`; diff --git a/packages/api-client/src/fragments/productMediaConfigurationFragment.ts b/packages/api-client/src/fragments/productMediaConfigurationFragment.ts deleted file mode 100644 index 04a88fbb4..000000000 --- a/packages/api-client/src/fragments/productMediaConfigurationFragment.ts +++ /dev/null @@ -1,9 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ProductMediaConfigurationData on MediaGalleryInterface{ - url - position - disabled - label -}`; diff --git a/packages/api-client/src/fragments/productPriceRangeFragment.ts b/packages/api-client/src/fragments/productPriceRangeFragment.ts deleted file mode 100644 index 6a7226bef..000000000 --- a/packages/api-client/src/fragments/productPriceRangeFragment.ts +++ /dev/null @@ -1,27 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ProductPriceRangeData on ProductInterface { - price_range { - maximum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - minimum_price { - final_price { - currency - value - } - regular_price { - currency - value - } - } - } -}`; diff --git a/packages/api-client/src/fragments/productPriceTierFragment.ts b/packages/api-client/src/fragments/productPriceTierFragment.ts deleted file mode 100644 index 66d221a1f..000000000 --- a/packages/api-client/src/fragments/productPriceTierFragment.ts +++ /dev/null @@ -1,16 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ProductPriceTierData on ProductInterface { - price_tiers { - quantity - discount { - amount_off - percent_off - } - final_price { - currency - value - } - } -}`; diff --git a/packages/api-client/src/fragments/productThumbnailFragment.ts b/packages/api-client/src/fragments/productThumbnailFragment.ts deleted file mode 100644 index f402b9fa0..000000000 --- a/packages/api-client/src/fragments/productThumbnailFragment.ts +++ /dev/null @@ -1,11 +0,0 @@ -import gql from 'graphql-tag'; -import ProductMediaConfigurationData from './productMediaConfigurationFragment'; - -export default gql` - ${ProductMediaConfigurationData} - -fragment ProductThumbnailData on ProductInterface { - thumbnail { - ...ProductMediaConfigurationData - } -}`; diff --git a/packages/api-client/src/fragments/productUrlFragment.ts b/packages/api-client/src/fragments/productUrlFragment.ts deleted file mode 100644 index d386d9c00..000000000 --- a/packages/api-client/src/fragments/productUrlFragment.ts +++ /dev/null @@ -1,9 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ProductUrlFragmentData on ProductInterface { - url_key - url_rewrites { - url - } -}`; diff --git a/packages/api-client/src/fragments/shipmentItemFragment.ts b/packages/api-client/src/fragments/shipmentItemFragment.ts deleted file mode 100644 index a71796880..000000000 --- a/packages/api-client/src/fragments/shipmentItemFragment.ts +++ /dev/null @@ -1,13 +0,0 @@ -import gql from 'graphql-tag'; - -export default gql` -fragment ShipmentItemData on ShipmentItemInterface { - id - product_name - product_sale_price { - currency - value - } - product_sku - quantity_shipped -}`; diff --git a/packages/api-client/src/fragments/wishlistDataFragment.ts b/packages/api-client/src/fragments/wishlistDataFragment.ts deleted file mode 100644 index e37f3b7b9..000000000 --- a/packages/api-client/src/fragments/wishlistDataFragment.ts +++ /dev/null @@ -1,86 +0,0 @@ -import gql from 'graphql-tag'; -import ProductCategoriesData from './productCategoriesFragment'; -import ProductPriceRangeData from './productPriceRangeFragment'; -import ProductThumbnailData from './productThumbnailFragment'; -import ProductUrlFragmentData from './productUrlFragment'; - -export default gql` - ${ProductCategoriesData} - ${ProductPriceRangeData} - ${ProductThumbnailData} - ${ProductUrlFragmentData} - - fragment WishlistData on Wishlist { - id - items_count - sharing_code - items_v2 { - items { - id - quantity - description - added_at - product { - ...on ConfigurableProduct { - configurable_options { - attribute_code - attribute_uid - label - position - uid - use_default - values { - label - swatch_data { - value - } - uid - } - } - } - ... on BundleProduct { - items { - sku - title - options { - uid - quantity - product { - uid - sku - name - ...ProductPriceRangeData - } - } - } - } - uid - __typename - sku - name - stock_status - only_x_left_in_stock - rating_summary - ...ProductCategoriesData - ...ProductPriceRangeData - ...ProductThumbnailData - ...ProductUrlFragmentData - review_count - reviews { - items { - average_rating - ratings_breakdown { - name - value - } - } - } - } - } - page_info { - current_page - page_size - total_pages - } - } -}`; diff --git a/packages/api-client/src/index.ts b/packages/api-client/src/index.ts index 17eb67804..3fc3dafed 100644 --- a/packages/api-client/src/index.ts +++ b/packages/api-client/src/index.ts @@ -50,8 +50,6 @@ export { Breadcrumb, BundleCartItem, BundleCreditMemoItem, - BundleProductDetailQuery, - BundleProductDetailQueryVariables, BundleInvoiceItem, BundleItem, BundleItemOption, @@ -63,11 +61,9 @@ export { BundleShipmentItem, BundleWishlistItem, CartAddressCountry, - CartAddressFragment, CartAddressInput, CartAddressInterface, CartAddressRegion, - CartDataFragment, CartDiscount, CartItemInput, CartItemInterface, @@ -76,14 +72,12 @@ export { CartItemSelectedOptionValuePrice, CartItemUpdateInput, CartPrices, - CartProductDataFragment, CartQuery, CartQueryVariables, CartTaxItem, CartUserInputError, CartUserInputErrorType, Categories, - CategoryDataFragment, CategoryFilterInput, CategoryInterface, CategoryInterfaceProductsArgs, @@ -95,7 +89,6 @@ export { CategorySearchQueryVariables, CategoryTree, CategoryTreeProductsArgs, - CategoryUrlDataFragment, ChangeCustomerPasswordMutation, ChangeCustomerPasswordMutationVariables, CheckoutAgreement, @@ -113,7 +106,6 @@ export { ComparableAttribute, ComparableItem, CompareList, - CompleteCartDataFragment, ComplexTextValue, ConfigurableAttributeOption, ConfigurableCartItem, @@ -121,10 +113,7 @@ export { ConfigurableProduct, ConfigurableProductCartItemInput, ConfigurableProductConfigurable_Product_Options_SelectionArgs, - ConfigurableProductDetailQuery, - ConfigurableProductDetailQueryVariables, ConfigurableProductOptions, - ConfigurableProductOptionsDataFragment, ConfigurableProductOptionsSelection, ConfigurableProductOptionsValues, ConfigurableProductReviewsArgs, @@ -159,10 +148,10 @@ export { Currency, CurrencyEnum, CustomAttributeMetadata, + Customer, CustomerAddress, CustomerAddressAttribute, CustomerAddressAttributeInput, - CustomerAddressDataFragment, CustomerAddressInput, CustomerAddressRegion, CustomerAddressRegionInput, @@ -173,7 +162,6 @@ export { CustomerCartQuery, CustomerCartQueryVariables, CustomerCreateInput, - CustomerDataFragment, CustomerDownloadableProduct, CustomerDownloadableProducts, CustomerInput, @@ -249,8 +237,6 @@ export { GiftMessage, GiftMessageInput, GroupedProduct, - GroupedProductDetailQuery, - GroupedProductDetailQueryVariables, GroupedProductItem, GroupedProductReviewsArgs, GroupedProductWishlistItem, @@ -265,10 +251,8 @@ export { ImageSwatchData, Invoice, InvoiceItem, - InvoiceItemDataFragment, InvoiceItemInterface, InvoiceTotal, - InvoiceTotalDataFragment, IsEmailAvailableOutput, ItemSelectedBundleOption, ItemSelectedBundleOptionValue, @@ -334,15 +318,12 @@ export { MutationUpdateProductsInWishlistArgs, Order, OrderAddress, - OrderAddressDataFragment, OrderItem, - OrderItemDataFragment, OrderItemInterface, OrderItemOption, OrderPaymentMethod, OrderShipment, OrderTotal, - OrderTotalDataFragment, PayflowExpressInput, PayflowLinkInput, PayflowLinkMode, @@ -382,27 +363,21 @@ export { ProductAttribute, ProductAttributeFilterInput, ProductAttributeSortInput, - ProductCategoriesDataFragment, - ProductDataFragment, ProductDetailsQuery, ProductDetailsQueryVariables, ProductDiscount, ProductFilterInput, - ProductGalleryDataFragment, ProductImage, - ProductImagesDataFragment, ProductInfoInput, ProductInterface, ProductInterfaceReviewsArgs, ProductLinks, ProductLinksInterface, - ProductMediaConfigurationDataFragment, ProductMediaGalleryEntriesContent, ProductMediaGalleryEntriesVideoContent, ProductPrice, - ProductPriceRangeDataFragment, ProductPrices, - ProductPriceTierDataFragment, + ProductReview, ProductReviewQuery, ProductReviewQueryVariables, ProductReviewRating, @@ -417,9 +392,7 @@ export { ProductsListQueryVariables, ProductSortInput, ProductStockStatus, - ProductThumbnailDataFragment, ProductTierPrices, - ProductUrlFragmentDataFragment, ProductVideo, Query, QueryAvailableStoresArgs, @@ -454,6 +427,10 @@ export { RemoveProductsFromWishlistMutationVariables, RemoveProductsFromWishlistOutput, ReorderItemsOutput, + RequestPasswordResetEmailMutation, + RequestPasswordResetEmailMutationVariables, + ResetPasswordMutation, + ResetPasswordMutationVariables, RevokeCustomerTokenMutation, RevokeCustomerTokenMutationVariables, RevokeCustomerTokenOutput, @@ -497,7 +474,6 @@ export { SetShippingMethodsOnCartOutput, ShipBundleItemsEnum, ShipmentItem, - ShipmentItemDataFragment, ShipmentItemInterface, ShipmentTracking, ShippingAddressInput, @@ -550,7 +526,7 @@ export { VirtualProductCartItemInput, VirtualProductReviewsArgs, VirtualWishlistItem, - WishlistDataFragment, + Wishlist, WishlistItem, WishlistItemInput, WishlistItemInterface, @@ -562,8 +538,6 @@ export { WishlistQueryVariables, WishListUserInputError, WishListUserInputErrorType, - RequestPasswordResetEmailMutation, - RequestPasswordResetEmailMutationVariables, } from './types/GraphQL'; export { AddProductsToCartInput } from './api/addProductsToCart'; diff --git a/packages/api-client/src/types/API.ts b/packages/api-client/src/types/API.ts index 6aed7487c..45b42eeb4 100644 --- a/packages/api-client/src/types/API.ts +++ b/packages/api-client/src/types/API.ts @@ -2,6 +2,7 @@ import { ApolloQueryResult } from 'apollo-client'; import { ExecutionResult } from 'graphql'; import { FetchResult } from '@apollo/client'; import { CustomQuery } from '@vue-storefront/core'; +import { FetchPolicy } from 'apollo-client/core/watchQueryOptions'; import { AddConfigurableProductsToCartInput, AddConfigurableProductsToCartMutation, @@ -24,17 +25,14 @@ import { CmsPage, CmsPageQuery, ConfigurableProduct, - ConfigurableProductDetailQuery, CountriesListQuery, CountryInformationQuery, - CreateCustomerAddressMutation, CustomerAddress as CustomerAddressInterface, CustomerAddressInput, CustomerAvailablePaymentMethodsQuery, CustomerAvailableShippingMethodsQuery, CustomerCartQuery, CustomerCreateInput, - CustomerDataFragment as CustomerFragment, CustomerOrder as CustomerOrderInterface, CustomerOrdersQuery, CustomerOrdersQueryVariables, @@ -90,20 +88,19 @@ import { CreateCustomerMutation, AddProductsToWishlistMutationVariables, AddProductsToWishlistMutation, - WishlistDataFragment, UpdateCustomerEmailMutationVariables, RemoveProductsFromWishlistMutationVariables, RemoveProductsFromWishlistMutation, GetCustomerAddressesQuery, AddProductsToCartMutation, CmsBlockQuery, - GroupedProductDetailQuery, GroupedProduct, AddBundleProductsToCartInput, AddBundleProductsToCartMutation, - BundleProductDetailQuery, RequestPasswordResetEmailMutation, RequestPasswordResetEmailMutationVariables, + ResetPasswordMutationVariables, + ResetPasswordMutation, ChangeCustomerPasswordMutation, CreateCustomerAddressMutation, } from './GraphQL'; import { SetPaymentMethodOnCartInputs } from '../api/setPaymentMethodOnCart'; import { CustomerProductReviewParams } from '../api/customerProductReview'; @@ -120,7 +117,6 @@ export type CategoryFilter = CategoryFilterInput; export type CategoryMenu = CategoryTree; export type Countries = CountriesListQuery['countries'][0]; export type Coupon = AppliedCoupon; -export type Customer = CustomerFragment; export type CustomerAddress = CustomerAddressInterface; export type CustomerOrder = CustomerOrderInterface; export type CustomerUpdateParameters = CustomerCreateInput; @@ -133,7 +129,6 @@ export type ReviewMetadata = ProductReviewRatingsMetadataQuery['productReviewRat export type Route = UrlResolverQuery['urlResolver']; export type ShippingMethod = AvailableShippingMethod; export type StoreConfig = StoreConfigQuery['storeConfig']; -export type Wishlist = WishlistDataFragment; export type WishlistProduct = WishlistItemInterface; export const enum ProductsQueryType { @@ -156,62 +151,136 @@ export enum MagentoCustomerGender { export interface MagentoApiMethods { addBundleProductsToCart(input: AddBundleProductsToCartInput): Promise>; + addConfigurableProductsToCart(input: AddConfigurableProductsToCartInput): Promise>; + addProductsToCart(input: AddProductsToCartInput): Promise>; + addProductToWishList(input: AddProductsToWishlistMutationVariables): Promise>; + addSimpleProductsToCart(input: AddSimpleProductsToCartInput): Promise>; + applyCouponToCart(input: ApplyCouponToCartInput): Promise>; - bundleProductDetail(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + cart(cartId: string): Promise>; + categoryList(categoryFilter?: CategoryListQueryVariables): Promise>; + categorySearch(categoryFilter?: CategorySearchQueryVariables): Promise>; - changeCustomerPassword(currentPassword: string, newPassword: string): Promise; + + changeCustomerPassword(currentPassword: string, newPassword: string): Promise>; + cmsBlocks(identifiers: string[]): Promise>; + cmsPage(identifier: string): Promise>; - configurableProductDetail(searchParams: GetProductSearchParams, customQuery?: CustomQuery): - Promise>; + countries(): Promise>; + country(id: string): Promise>; + createCustomer(input: CustomerCreateInput): Promise>; + createCustomerAddress(input: CustomerAddressInput): Promise>; + createEmptyCart(): Promise>; + createProductReview(input: CreateProductReviewInput): Promise>; + customer(): Promise>; + customerCart(): Promise>; + customerOrders(orderParams: CustomerOrdersQueryVariables): Promise>; + + customQuery({ + query, + queryVariables, + fetchPolicy, + }: { + query: QUERY, + queryVariables?: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + }): Promise>; + + customMutation({ + mutation, + mutationVariables, + fetchPolicy, + }: { + mutation: MUTATION, + mutationVariables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + }): Promise>; + customerProductReview(input: CustomerProductReviewParams, customQuery?: CustomQuery): Promise>; + deleteCustomerAddress(addressId: number): Promise>; + generateCustomerToken(email: string, password: string): Promise>; + getAvailableCustomerPaymentMethods(customQuery?: CustomQuery): Promise>; + getAvailableCustomerShippingMethods(customQuery?: CustomQuery): Promise>; + getAvailablePaymentMethods(params: { cartId: string }, customQuery?: CustomQuery): Promise>; + getAvailableShippingMethods(params: { cartId: string }, customQuery?: CustomQuery): Promise>; + getCustomerAddresses(customQuery?: CustomQuery): Promise>; - groupedProductDetail(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + mergeCarts(sourceCartId: string, destinationCartId: string): Promise>; + placeOrder(input: PlaceOrderInput): Promise>; + productDetail(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + productReview(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + productReviewRatingsMetadata(): Promise>; + products(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + relatedProduct(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + removeCouponFromCart(input: RemoveCouponFromCartInput): Promise>; + removeItemFromCart(input: RemoveItemFromCartInput): Promise>; + removeProductsFromWishlist(input: RemoveProductsFromWishlistMutationVariables): Promise>; + revokeCustomerToken(): Promise>; - requestPasswordResetEmail(input: RequestPasswordResetEmailMutationVariables): Promise>; + + requestPasswordResetEmail( + input: RequestPasswordResetEmailMutationVariables, + customQuery?: CustomQuery): Promise>; + + resetPassword(input: ResetPasswordMutationVariables, customQuery?: CustomQuery,): Promise>; + setBillingAddressOnCart(input: SetBillingAddressOnCartInput): Promise>; + setGuestEmailOnCart(input: SetGuestEmailOnCartInput): Promise>; + setPaymentMethodOnCart(input: SetPaymentMethodOnCartInputs): Promise>; - setShippingAddressesOnCart(input: SetShippingAddressesOnCartInput):Promise>; - setShippingMethodsOnCart(input: SetShippingMethodsOnCartInput):Promise>; + + setShippingAddressesOnCart(input: SetShippingAddressesOnCartInput): Promise>; + + setShippingMethodsOnCart(input: SetShippingMethodsOnCartInput): Promise>; + storeConfig(): Promise>; + subscribeEmailToNewsletter(input: SubscribeEmailToNewsletterMutationVariables): Promise>; + updateCartItems(input: UpdateCartItemsInput): Promise>; + updateCustomer(input: CustomerUpdateInput): Promise>; + updateCustomerAddress(input: { addressId: number; input: CustomerAddressInput; }): Promise>; + updateCustomerEmail(input: UpdateCustomerEmailMutationVariables): Promise>; - upsellProduct(searchParams: GetProductSearchParams, customQuery?: CustomQuery):Promise>; + + upsellProduct(searchParams: GetProductSearchParams, customQuery?: CustomQuery): Promise>; + urlResolver(url: string): Promise>; + wishlist(queryParams: WishlistQueryVariables): Promise>; } diff --git a/packages/api-client/src/types/GraphQL.ts b/packages/api-client/src/types/GraphQL.ts index 85aa54b00..b3555ee55 100644 --- a/packages/api-client/src/types/GraphQL.ts +++ b/packages/api-client/src/types/GraphQL.ts @@ -78,6 +78,15 @@ export interface AddVirtualProductsToCartOutput { cart: Cart; } +export interface AddWishlistItemsToCartOutput { + /** An array of errors encountered while adding products to the customer's cart */ + add_wishlist_items_to_cart_user_errors: Array>; + /** Indicates whether the attempt to add items to the customer's cart was successful */ + status: Scalars['Boolean']; + /** Contains the wish list with all items that were successfully added */ + wishlist: Wishlist; +} + /** A bucket that contains information for each filterable option (such as price, category `UID`, and custom attributes). */ export interface Aggregation { /** Attribute code of the aggregation group. */ @@ -88,6 +97,8 @@ export interface Aggregation { label?: Maybe; /** Array of options for the aggregation. */ options?: Maybe>>; + /** The relative position of the attribute in a layered navigation block */ + position?: Maybe; } export interface AggregationOption extends AggregationOptionInterface { @@ -154,6 +165,8 @@ export interface Attribute { entity_type?: Maybe; /** The frontend input type of the attribute */ input_type?: Maybe; + /** Contains details about the storefront properties configured for the attribute */ + storefront_properties?: Maybe; } /** AttributeInput specifies the attribute_code and entity_type to search */ @@ -401,8 +414,9 @@ export interface BundleOrderItem extends OrderItemInterface { status?: Maybe; } -/** BundleProduct defines basic features of a bundle product and contains multiple BundleItems. */ -export interface BundleProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface { +/** Defines basic features of a bundle product and contains multiple BundleItems */ +export interface BundleProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -412,6 +426,9 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -430,6 +447,11 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro dynamic_sku?: Maybe; /** Indicates whether the bundle product has a dynamically calculated weight. */ dynamic_weight?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -443,6 +465,7 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro items?: Maybe>>; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -458,6 +481,7 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -474,6 +498,8 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro options?: Maybe>>; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -489,18 +515,25 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** Indicates whether to ship bundle items together or individually. */ ship_bundle_items?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -514,6 +547,10 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -528,6 +565,8 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -560,7 +599,7 @@ export interface BundleProduct extends CustomizableProductInterface, PhysicalPro } -/** BundleProduct defines basic features of a bundle product and contains multiple BundleItems. */ +/** Defines basic features of a bundle product and contains multiple BundleItems */ export interface BundleProductReviewsArgs { currentPage?: Maybe; pageSize?: Maybe; @@ -697,6 +736,8 @@ export interface CartItemInterface { export interface CartItemPrices { /** An array of discounts to be applied to the cart item */ discounts?: Maybe>>; + /** Applied FPT to the cart item. */ + fixed_product_taxes?: Maybe>>; price: Money; row_total: Money; row_total_including_tax: Money; @@ -879,8 +920,8 @@ export interface CategoryResult { total_count?: Maybe; } -/** Category Tree implementation. */ -export interface CategoryTree extends CategoryInterface { +/** Category tree implementation */ +export interface CategoryTree extends CategoryInterface, RoutableInterface { available_sort_by?: Maybe>>; /** Breadcrumbs, parent categories info. */ breadcrumbs?: Maybe>>; @@ -929,6 +970,12 @@ export interface CategoryTree extends CategoryInterface { product_count?: Maybe; /** The list of products assigned to the category. */ products?: Maybe; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** The unique ID for a `CategoryInterface` object. */ uid: Scalars['ID']; /** @@ -945,13 +992,22 @@ export interface CategoryTree extends CategoryInterface { } -/** Category Tree implementation. */ +/** Category tree implementation */ export interface CategoryTreeProductsArgs { currentPage?: Maybe; pageSize?: Maybe; sort?: Maybe; } +export interface ChatData { + /** API space id */ + api_space_id?: Maybe; + /** Cookie name */ + cookie_name?: Maybe; + /** Is chat enabled */ + is_enabled?: Maybe; +} + /** Defines all Checkout Agreement information */ export interface CheckoutAgreement { /** Checkout Agreement identifier */ @@ -1009,7 +1065,7 @@ export interface CmsBlocks { } /** CMS page defines all CMS page information */ -export interface CmsPage { +export interface CmsPage extends RoutableInterface { /** CMS page content */ content?: Maybe; /** CMS page content heading */ @@ -1024,8 +1080,14 @@ export interface CmsPage { meta_title?: Maybe; /** CMS page content heading */ page_layout?: Maybe; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** CMS page title */ title?: Maybe; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** URL key of CMS page */ url_key?: Maybe; } @@ -1081,6 +1143,8 @@ export interface ConfigurableAttributeOption { export interface ConfigurableCartItem extends CartItemInterface { configurable_options: Array>; + /** Product details of the cart item */ + configured_variant: ProductInterface; customizable_options?: Maybe>>; /** The entered gift message for the cart item */ gift_message?: Maybe; @@ -1102,7 +1166,8 @@ export interface ConfigurableOptionAvailableForSelection { } /** ConfigurableProduct defines basic features of a configurable product and its simple product variants */ -export interface ConfigurableProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface { +export interface ConfigurableProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -1112,10 +1177,13 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** An array of linked simple product items */ configurable_options?: Maybe>>; - /** Metadata for the specified configurable options selection */ + /** Specified configurable product options selection */ configurable_product_options_selection?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -1128,6 +1196,11 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi crosssell_products?: Maybe>>; /** Detailed information about the product. The value can include simple HTML tags. */ description?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -1139,6 +1212,7 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi image?: Maybe; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -1154,6 +1228,7 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -1170,6 +1245,8 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi options?: Maybe>>; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -1183,16 +1260,23 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -1206,6 +1290,10 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -1220,6 +1308,8 @@ export interface ConfigurableProduct extends CustomizableProductInterface, Physi * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -1275,6 +1365,21 @@ export interface ConfigurableProductCartItemInput { variant_sku?: Maybe; } +export interface ConfigurableProductOption { + attribute_code: Scalars['String']; + label: Scalars['String']; + uid: Scalars['ID']; + values?: Maybe>>; +} + +export interface ConfigurableProductOptionValue { + is_available: Scalars['Boolean']; + is_use_default: Scalars['Boolean']; + label: Scalars['String']; + swatch?: Maybe; + uid: Scalars['ID']; +} + /** ConfigurableProductOptions defines configurable attributes for the specified product */ export interface ConfigurableProductOptions { /** A string that identifies the attribute */ @@ -1315,6 +1420,8 @@ export interface ConfigurableProductOptions { /** Metadata corresponding to the configurable options selection. */ export interface ConfigurableProductOptionsSelection { + /** Configurable options available for further selection based on current selection. */ + configurable_options?: Maybe>>; /** Product images and videos corresponding to the specified configurable options selection. */ media_gallery?: Maybe>>; /** Configurable options available for further selection based on current selection. */ @@ -2658,6 +2765,13 @@ export interface CustomizableDateOption extends CustomizableOptionInterface { value?: Maybe; } +/** This enumeration customizable date type. */ +export enum CustomizableDateTypeEnum { + Date = 'DATE', + DateTime = 'DATE_TIME', + Time = 'TIME' +} + /** CustomizableDateValue defines the price and sku of a product whose page contains a customized date picker. */ export interface CustomizableDateValue { /** The price assigned to this option. */ @@ -2666,6 +2780,8 @@ export interface CustomizableDateValue { price_type?: Maybe; /** The Stock Keeping Unit for this option. */ sku?: Maybe; + /** DATE, DATE_TIME or TIME */ + type?: Maybe; /** The unique ID for a `CustomizableDateValue` object. */ uid: Scalars['ID']; } @@ -3009,8 +3125,9 @@ export interface DownloadableOrderItem extends OrderItemInterface { status?: Maybe; } -/** DownloadableProduct defines a product that the customer downloads */ -export interface DownloadableProduct extends CustomizableProductInterface, ProductInterface { +/** DownloadableProduct defines a product that the shopper downloads */ +export interface DownloadableProduct extends CustomizableProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -3020,6 +3137,9 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -3036,6 +3156,11 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ downloadable_product_links?: Maybe>>; /** An array containing information about samples of this downloadable product. */ downloadable_product_samples?: Maybe>>; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -3051,6 +3176,7 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ links_title?: Maybe; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -3066,6 +3192,7 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -3082,6 +3209,8 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ options?: Maybe>>; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -3095,16 +3224,23 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -3118,6 +3254,10 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -3132,6 +3272,8 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -3162,7 +3304,7 @@ export interface DownloadableProduct extends CustomizableProductInterface, Produ } -/** DownloadableProduct defines a product that the customer downloads */ +/** DownloadableProduct defines a product that the shopper downloads */ export interface DownloadableProductReviewsArgs { currentPage?: Maybe; pageSize?: Maybe; @@ -3389,8 +3531,9 @@ export interface GiftMessageInput { to: Scalars['String']; } -/** GroupedProduct defines a grouped product */ -export interface GroupedProduct extends PhysicalProductInterface, ProductInterface { +/** A grouped product consists of simple standalone products that are presented as a group */ +export interface GroupedProduct extends PhysicalProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -3400,6 +3543,9 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -3412,6 +3558,11 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa crosssell_products?: Maybe>>; /** Detailed information about the product. The value can include simple HTML tags. */ description?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -3425,6 +3576,7 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa items?: Maybe>>; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -3440,6 +3592,7 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -3454,6 +3607,8 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa only_x_left_in_stock?: Maybe; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -3467,16 +3622,23 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -3490,6 +3652,10 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -3504,6 +3670,8 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -3536,7 +3704,7 @@ export interface GroupedProduct extends PhysicalProductInterface, ProductInterfa } -/** GroupedProduct defines a grouped product */ +/** A grouped product consists of simple standalone products that are presented as a group */ export interface GroupedProductReviewsArgs { currentPage?: Maybe; pageSize?: Maybe; @@ -3672,6 +3840,11 @@ export interface InvoiceTotal { total_tax: Money; } +export interface IsConfigSettingEnabledOutput { + /** Is config setting enabled */ + is_enabled?: Maybe; +} + export interface IsEmailAvailableOutput { /** Is email availabel value */ is_email_available?: Maybe; @@ -3842,6 +4015,8 @@ export interface Mutation { addProductsToWishlist?: Maybe; addSimpleProductsToCart?: Maybe; addVirtualProductsToCart?: Maybe; + /** Add items in the specified wishlist to the customer's cart */ + addWishlistItemsToCart?: Maybe; applyCouponToCart?: Maybe; /** Assign the specified compare list to the logged in customer */ assignCompareListToCustomer?: Maybe; @@ -3908,6 +4083,8 @@ export interface Mutation { /** Subscribes the specified email to a newsletter */ subscribeEmailToNewsletter?: Maybe; updateCartItems?: Maybe; + /** Sends chat profile data to Engagement Cloud. */ + updateChatProfile?: Maybe; /** Deprecated. Use UpdateCustomerV2 instead. */ updateCustomer?: Maybe; /** Update customer address */ @@ -3917,6 +4094,8 @@ export interface Mutation { updateCustomerV2?: Maybe; /** Updates one or more products in the specified wish list */ updateProductsInWishlist?: Maybe; + /** Updates the email address of a quote. */ + updateQuoteEmail?: Maybe; } @@ -3962,6 +4141,12 @@ export interface MutationAddVirtualProductsToCartArgs { } +export interface MutationAddWishlistItemsToCartArgs { + wishlistId: Scalars['ID']; + wishlistItemIds?: Maybe>; +} + + export interface MutationApplyCouponToCartArgs { input?: Maybe; } @@ -4148,6 +4333,14 @@ export interface MutationUpdateCartItemsArgs { } +export interface MutationUpdateChatProfileArgs { + email?: Maybe; + firstname?: Maybe; + lastname?: Maybe; + profileId: Scalars['String']; +} + + export interface MutationUpdateCustomerArgs { input: CustomerInput; } @@ -4175,11 +4368,22 @@ export interface MutationUpdateProductsInWishlistArgs { wishlistItems: Array; } + +export interface MutationUpdateQuoteEmailArgs { + cartId: Scalars['String']; + email: Scalars['String']; +} + +/** Contains details about the requested order */ export interface Order { + /** An array containing the items purchased in this order */ + items?: Maybe>>; /** @deprecated The order_id field is deprecated, use order_number instead. */ order_id?: Maybe; /** The unique ID for a `Order` object. */ order_number: Scalars['String']; + /** Contains the calculated total for this order */ + total?: Maybe; } /** OrderAddress contains detailed information about an order's billing and shipping addresses */ @@ -4701,20 +4905,62 @@ export interface ProductAttribute { /** ProductAttributeFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for. */ export interface ProductAttributeFilterInput { + /** Attribute label: Activity */ + activity?: Maybe; + /** Attribute label: Category Gear */ + category_gear?: Maybe; /** Deprecated: use `category_uid` to filter product by category id. */ category_id?: Maybe; /** Filter product by the unique ID for a `CategoryInterface` object. */ category_uid?: Maybe; + /** Attribute label: Climate */ + climate?: Maybe; + /** Attribute label: Collar */ + collar?: Maybe; + /** Attribute label: Color */ + color?: Maybe; /** Attribute label: Description */ description?: Maybe; + /** Attribute label: Eco Collection */ + eco_collection?: Maybe; + /** Attribute label: Erin Recommends */ + erin_recommends?: Maybe; + /** Attribute label: Features */ + features_bags?: Maybe; + /** Attribute label: Format */ + format?: Maybe; + /** Attribute label: Gender */ + gender?: Maybe; + /** Attribute label: Material */ + material?: Maybe; /** Attribute label: Product Name */ name?: Maybe; + /** Attribute label: New */ + new?: Maybe; + /** Attribute label: Pattern */ + pattern?: Maybe; + /** Attribute label: Performance Fabric */ + performance_fabric?: Maybe; /** Attribute label: Price */ price?: Maybe; + /** Attribute label: Sale */ + sale?: Maybe; /** Attribute label: Short Description */ short_description?: Maybe; + /** Attribute label: Size */ + size?: Maybe; /** Attribute label: SKU */ sku?: Maybe; + /** Attribute label: Sleeve */ + sleeve?: Maybe; + /** Attribute label: Strap/Handle */ + strap_bags?: Maybe; + /** Attribute label: Style Bags */ + style_bags?: Maybe; + /** Attribute label: Style Bottom */ + style_bottom?: Maybe; + /** Attribute label: Style General */ + style_general?: Maybe; /** The part of the URL that identifies the product */ url_key?: Maybe; } @@ -4838,6 +5084,7 @@ export interface ProductInfoInput { /** The ProductInterface contains attributes that are common to all types of products. Note that descriptions may not be available for custom and EAV attributes. */ export interface ProductInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -4847,6 +5094,9 @@ export interface ProductInterface { canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -4859,6 +5109,11 @@ export interface ProductInterface { crosssell_products?: Maybe>>; /** Detailed information about the product. The value can include simple HTML tags. */ description?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -4870,6 +5125,7 @@ export interface ProductInterface { image?: Maybe; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -4885,6 +5141,7 @@ export interface ProductInterface { meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -4899,6 +5156,8 @@ export interface ProductInterface { only_x_left_in_stock?: Maybe; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -4918,10 +5177,13 @@ export interface ProductInterface { review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -4935,6 +5197,10 @@ export interface ProductInterface { special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -5282,6 +5548,8 @@ export interface Query { category?: Maybe; /** Returns an array of categories based on the specified filters. */ categoryList?: Maybe>>; + /** Retrieves an array of configuration data for the chat widget. */ + chatData?: Maybe; /** The Checkout Agreements information */ checkoutAgreements?: Maybe>>; /** The CMS block query returns information about CMS blocks */ @@ -5308,20 +5576,33 @@ export interface Query { customerOrders?: Maybe; /** Return a list of customer payment tokens */ customerPaymentTokens?: Maybe; + /** Returns status of Easy Email Capture for Checkout. */ + emailCaptureCheckout?: Maybe; + /** Returns status of Easy Email Capture for Newsletter. */ + emailCaptureNewsletter?: Maybe; /** Retrieve secure PayPal url for Payments Pro Hosted Solution transaction. */ getHostedProUrl?: Maybe; /** Retrieve payment credentials for transaction. Use this query for Payflow Link and Payments Advanced payment methods. */ getPayflowLinkToken?: Maybe; isEmailAvailable?: Maybe; + /** Retrieves information about an order by order id. */ + orderData?: Maybe; /** The pickup locations query searches for locations that match the search request requirements. */ pickupLocations?: Maybe; /** Retrieves metadata required by clients to render the Reviews section. */ productReviewRatingsMetadata: ProductReviewRatingsMetadata; /** The products query searches for products that match the criteria specified in the search and filter attributes. */ products?: Maybe; + /** Return the full details for a specified product, category, or CMS page given the specified url_key, appended by the url_suffix, if one exists */ + route?: Maybe; /** The store config query */ storeConfig?: Maybe; - /** The urlResolver query returns the relative URL for a specified product, category or CMS page, using as input a url_key appended by the url_suffix, if one exists */ + /** Retrieves an array of configuration data for different types of tracking. */ + trackingData?: Maybe; + /** + * The urlResolver query returns the relative URL for a specified product, category or CMS page, using as input a url_key appended by the url_suffix, if one exists + * @deprecated Use the 'route' query instead + */ urlResolver?: Maybe; /** * The wishlist query returns the contents of a customer's wish list @@ -5399,6 +5680,11 @@ export interface QueryIsEmailAvailableArgs { } +export interface QueryOrderDataArgs { + orderId: Scalars['String']; +} + + export interface QueryPickupLocationsArgs { area?: Maybe; currentPage?: Maybe; @@ -5418,6 +5704,11 @@ export interface QueryProductsArgs { } +export interface QueryRouteArgs { + url: Scalars['String']; +} + + export interface QueryUrlResolverArgs { url: Scalars['String']; } @@ -5475,6 +5766,16 @@ export interface RevokeCustomerTokenOutput { result: Scalars['Boolean']; } +/** Routable entities serve as the model for a rendered page */ +export interface RoutableInterface { + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; +} + /** Comment item details */ export interface SalesCommentItem { /** The text of the message */ @@ -5777,8 +6078,9 @@ export interface SimpleCartItem extends CartItemInterface { uid: Scalars['ID']; } -/** A simple product is tangible and are usually sold as single units or in fixed quantities. */ -export interface SimpleProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface { +/** A simple product is tangible and is usually sold in single units or in fixed quantities */ +export interface SimpleProduct extends CustomizableProductInterface, PhysicalProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -5788,6 +6090,9 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -5800,6 +6105,11 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro crosssell_products?: Maybe>>; /** Detailed information about the product. The value can include simple HTML tags. */ description?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -5811,6 +6121,7 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro image?: Maybe; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -5826,6 +6137,7 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -5842,6 +6154,8 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro options?: Maybe>>; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -5855,16 +6169,23 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -5878,6 +6199,10 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -5892,6 +6217,8 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -5924,7 +6251,7 @@ export interface SimpleProduct extends CustomizableProductInterface, PhysicalPro } -/** A simple product is tangible and are usually sold as single units or in fixed quantities. */ +/** A simple product is tangible and is usually sold in single units or in fixed quantities */ export interface SimpleProductReviewsArgs { currentPage?: Maybe; pageSize?: Maybe; @@ -6134,6 +6461,19 @@ export interface StoreConfig { welcome?: Maybe; } +export interface StorefrontProperties { + /** The relative position of the attribute in the layered navigation block */ + position?: Maybe; + /** Indicates whether the attribute is filterable with results, without results, or not at all */ + use_in_layered_navigation?: Maybe; + /** Indicates whether the attribute is displayed in product listings */ + use_in_product_listing?: Maybe; + /** Indicates whether the attribute can be used in layered navigation on search results pages */ + use_in_search_results_layered_navigation?: Maybe; + /** Indicates whether the attribute is displayed on product pages */ + visible_on_catalog_pages?: Maybe; +} + export interface SubscribeEmailToNewsletterOutput { /** Returns the status of the subscription request */ status?: Maybe; @@ -6207,6 +6547,17 @@ export interface TierPrice { quantity?: Maybe; } +export interface TrackingData { + /** Is Page Tracking enabled */ + page_tracking_enabled?: Maybe; + /** dotdigital region prefix */ + region_prefix?: Maybe; + /** Is ROI Tracking enabled */ + roi_tracking_enabled?: Maybe; + /** Web Behaviour Tracking profile ID */ + wbt_profile_id?: Maybe; +} + export interface UpdateCartItemsInput { cart_id: Scalars['String']; cart_items: Array>; @@ -6239,6 +6590,12 @@ export enum UrlRewriteEntityTypeEnum { Product = 'PRODUCT' } +export enum UseInLayeredNavigationOptions { + FilterableNoResult = 'FILTERABLE_NO_RESULT', + FilterableWithResults = 'FILTERABLE_WITH_RESULTS', + No = 'NO' +} + /** Required input for payment methods with Vault support. */ export interface VaultTokenInput { /** The public hash of the payment token */ @@ -6257,8 +6614,9 @@ export interface VirtualCartItem extends CartItemInterface { uid: Scalars['ID']; } -/** A virtual product is non-tangible product that does not require shipping and is not kept in inventory. */ -export interface VirtualProduct extends CustomizableProductInterface, ProductInterface { +/** A virtual product is a non-tangible product that does not require shipping and is not kept in inventory */ +export interface VirtualProduct extends CustomizableProductInterface, ProductInterface, RoutableInterface { + activity?: Maybe; /** * The attribute set assigned to the product. * @deprecated The field should not be used on the storefront. @@ -6268,6 +6626,9 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt canonical_url?: Maybe; /** The categories assigned to a product. */ categories?: Maybe>>; + category_gear?: Maybe; + climate?: Maybe; + collar?: Maybe; color?: Maybe; /** The product's country of origin. */ country_of_manufacture?: Maybe; @@ -6280,6 +6641,11 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt crosssell_products?: Maybe>>; /** Detailed information about the product. The value can include simple HTML tags. */ description?: Maybe; + eco_collection?: Maybe; + erin_recommends?: Maybe; + features_bags?: Maybe; + format?: Maybe; + gender?: Maybe; /** Indicates whether a gift message is available. */ gift_message_available?: Maybe; /** @@ -6291,6 +6657,7 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt image?: Maybe; /** A number representing the product's manufacturer. */ manufacturer?: Maybe; + material?: Maybe; /** An array of Media Gallery objects. */ media_gallery?: Maybe>>; /** @@ -6306,6 +6673,7 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt meta_title?: Maybe; /** The product name. Customers use this name to identify the product. */ name?: Maybe; + new?: Maybe; /** * The beginning date for new product listings, and determines if the product is featured as a new product. * @deprecated The field should not be used on the storefront. @@ -6322,6 +6690,8 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt options?: Maybe>>; /** If the product has multiple options, determines where they appear on the product page. */ options_container?: Maybe; + pattern?: Maybe; + performance_fabric?: Maybe; /** * A ProductPrices object, indicating the price of an item. * @deprecated Use price_range for product price information. @@ -6335,16 +6705,23 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt product_links?: Maybe>>; /** The average of all the ratings given to the product. */ rating_summary: Scalars['Float']; + /** Contains 0 when there is no redirect error. A value of 301 indicates the URL of the requested resource has been changed permanently, while a value of 302 indicates a temporary redirect */ + redirect_code: Scalars['Int']; /** Related Products */ related_products?: Maybe>>; + /** The internal relative URL. If the specified URL is a redirect, the query returns the redirected URL, not the original */ + relative_url?: Maybe; /** The total count of all the reviews given to the product. */ review_count: Scalars['Int']; /** The list of products reviews. */ reviews: ProductReviews; + sale?: Maybe; /** A short description of the product. Its use depends on the theme. */ short_description?: Maybe; + size?: Maybe; /** A number or code assigned to a product to identify the product, options, price, and manufacturer. */ sku?: Maybe; + sleeve?: Maybe; /** The relative path to the small image, which is used on catalog pages. */ small_image?: Maybe; /** @@ -6358,6 +6735,10 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt special_to_date?: Maybe; /** Stock status of the product */ stock_status?: Maybe; + strap_bags?: Maybe; + style_bags?: Maybe; + style_bottom?: Maybe; + style_general?: Maybe; /** The file name of a swatch image */ swatch_image?: Maybe; /** The relative path to the product's thumbnail image. */ @@ -6372,6 +6753,8 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt * @deprecated Use price_tiers for product tier price information. */ tier_prices?: Maybe>>; + /** One of PRODUCT, CATEGORY, or CMS_PAGE. */ + type?: Maybe; /** * One of simple, virtual, bundle, downloadable, grouped, or configurable. * @deprecated Use __typename instead. @@ -6402,7 +6785,7 @@ export interface VirtualProduct extends CustomizableProductInterface, ProductInt } -/** A virtual product is non-tangible product that does not require shipping and is not kept in inventory. */ +/** A virtual product is a non-tangible product that does not require shipping and is not kept in inventory */ export interface VirtualProductReviewsArgs { currentPage?: Maybe; pageSize?: Maybe; @@ -6497,6 +6880,24 @@ export interface WishlistItems_V2Args { pageSize?: Maybe; } +export interface WishlistCartUserInputError { + /** An error code that describes the error encountered */ + code: WishlistCartUserInputErrorType; + /** A localized error message */ + message: Scalars['String']; + /** The unique ID of the `Wishlist` object containing an error */ + wishlistId: Scalars['ID']; + /** The unique ID of the wish list item containing an error */ + wishlistItemId: Scalars['ID']; +} + +export enum WishlistCartUserInputErrorType { + InsufficientStock = 'INSUFFICIENT_STOCK', + NotSalable = 'NOT_SALABLE', + ProductNotFound = 'PRODUCT_NOT_FOUND', + Undefined = 'UNDEFINED' +} + export interface WishlistItem { /** The time when the customer added the item to the wish list */ added_at?: Maybe; @@ -6608,14 +7009,14 @@ export type AddBundleProductsToCartMutationVariables = Exact<{ }>; -export type AddBundleProductsToCartMutation = { addBundleProductsToCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type AddBundleProductsToCartMutation = { addBundleProductsToCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type AddConfigurableProductsToCartMutationVariables = Exact<{ input?: Maybe; }>; -export type AddConfigurableProductsToCartMutation = { addConfigurableProductsToCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type AddConfigurableProductsToCartMutation = { addConfigurableProductsToCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type AddProductsToWishlistMutationVariables = Exact<{ id: Scalars['ID']; @@ -6623,7 +7024,7 @@ export type AddProductsToWishlistMutationVariables = Exact<{ }>; -export type AddProductsToWishlistMutation = { addProductsToWishlist?: Maybe<{ wishlist: { id?: Maybe, items_count?: Maybe, sharing_code?: Maybe, items_v2?: Maybe<{ items: Array, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> }>>, page_info?: Maybe<{ current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe }> }> } }> }; +export type AddProductsToWishlistMutation = { addProductsToWishlist?: { wishlist: { id?: string | null | undefined, items_count?: number | null | undefined, sharing_code?: string | null | undefined, items_v2?: { items: Array<{ id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | null | undefined>, page_info?: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } | null | undefined } | null | undefined } } | null | undefined }; export type AddProductsToCartMutationVariables = Exact<{ cartId: Scalars['String']; @@ -6631,51 +7032,40 @@ export type AddProductsToCartMutationVariables = Exact<{ }>; -export type AddProductsToCartMutation = { addProductsToCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type AddProductsToCartMutation = { addProductsToCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type AddSimpleProductsToCartMutationVariables = Exact<{ input?: Maybe; }>; -export type AddSimpleProductsToCartMutation = { addSimpleProductsToCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type AddSimpleProductsToCartMutation = { addSimpleProductsToCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type ApplyCouponToCartMutationVariables = Exact<{ input?: Maybe; }>; -export type ApplyCouponToCartMutation = { applyCouponToCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; - -export type BundleProductDetailQueryVariables = Exact<{ - search?: Maybe; - filter?: Maybe; - pageSize?: Maybe; - currentPage?: Maybe; - sort?: Maybe; -}>; - - -export type BundleProductDetailQuery = { products?: Maybe<{ items?: Maybe, required?: Maybe, sku?: Maybe, title?: Maybe, type?: Maybe, uid?: Maybe, options?: Maybe, is_default?: Maybe, position?: Maybe, uid: string, quantity?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>> } | { uid: string } | { uid: string } | { uid: string } | { uid: string } | { uid: string }>>> }> }; +export type ApplyCouponToCartMutation = { applyCouponToCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type CartQueryVariables = Exact<{ cartId: Scalars['String']; }>; -export type CartQuery = { cart?: Maybe<{ id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> }> }; +export type CartQuery = { cart?: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } | null | undefined }; export type CategoryListQueryVariables = Exact<{ [key: string]: never; }>; -export type CategoryListQuery = { categories?: Maybe<{ items?: Maybe, name?: Maybe, uid: string, children?: Maybe, include_in_menu?: Maybe, is_anchor?: Maybe, level?: Maybe, name?: Maybe, position?: Maybe, product_count?: Maybe, uid: string, url_path?: Maybe, url_suffix?: Maybe, children?: Maybe, include_in_menu?: Maybe, is_anchor?: Maybe, level?: Maybe, name?: Maybe, position?: Maybe, product_count?: Maybe, uid: string, url_path?: Maybe, url_suffix?: Maybe }>>> }>>> }>>> }> }; +export type CategoryListQuery = { categories?: { items?: Array<{ product_count?: number | null | undefined, name?: string | null | undefined, uid: string, children?: Array<{ image?: string | null | undefined, include_in_menu?: number | null | undefined, is_anchor?: number | null | undefined, level?: number | null | undefined, name?: string | null | undefined, position?: number | null | undefined, product_count?: number | null | undefined, uid: string, url_path?: string | null | undefined, url_suffix?: string | null | undefined, children?: Array<{ image?: string | null | undefined, include_in_menu?: number | null | undefined, is_anchor?: number | null | undefined, level?: number | null | undefined, name?: string | null | undefined, position?: number | null | undefined, product_count?: number | null | undefined, uid: string, url_path?: string | null | undefined, url_suffix?: string | null | undefined, children?: Array<{ image?: string | null | undefined, include_in_menu?: number | null | undefined, is_anchor?: number | null | undefined, level?: number | null | undefined, name?: string | null | undefined, position?: number | null | undefined, product_count?: number | null | undefined, uid: string, url_path?: string | null | undefined, url_suffix?: string | null | undefined, children?: Array<{ image?: string | null | undefined, include_in_menu?: number | null | undefined, is_anchor?: number | null | undefined, level?: number | null | undefined, name?: string | null | undefined, position?: number | null | undefined, product_count?: number | null | undefined, uid: string, url_path?: string | null | undefined, url_suffix?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type CategorySearchQueryVariables = Exact<{ filters?: Maybe; }>; -export type CategorySearchQuery = { categoryList?: Maybe, include_in_menu?: Maybe, is_anchor?: Maybe, level?: Maybe, name?: Maybe, position?: Maybe, product_count?: Maybe, uid: string, url_path?: Maybe, url_suffix?: Maybe }>>> }; +export type CategorySearchQuery = { categoryList?: Array<{ image?: string | null | undefined, include_in_menu?: number | null | undefined, is_anchor?: number | null | undefined, level?: number | null | undefined, name?: string | null | undefined, position?: number | null | undefined, product_count?: number | null | undefined, uid: string, url_path?: string | null | undefined, url_suffix?: string | null | undefined } | null | undefined> | null | undefined }; export type ChangeCustomerPasswordMutationVariables = Exact<{ currentPassword: Scalars['String']; @@ -6683,81 +7073,69 @@ export type ChangeCustomerPasswordMutationVariables = Exact<{ }>; -export type ChangeCustomerPasswordMutation = { changeCustomerPassword?: Maybe<{ allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, is_subscribed?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> }> }; +export type ChangeCustomerPasswordMutation = { changeCustomerPassword?: { allow_remote_shopping_assistance: boolean, date_of_birth?: string | null | undefined, default_billing?: string | null | undefined, default_shipping?: string | null | undefined, email?: string | null | undefined, firstname?: string | null | undefined, is_subscribed?: boolean | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, prefix?: string | null | undefined, suffix?: string | null | undefined, taxvat?: string | null | undefined, addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type CmsBlockQueryVariables = Exact<{ identifiers?: Maybe> | Maybe>; }>; -export type CmsBlockQuery = { cmsBlocks?: Maybe<{ items?: Maybe, identifier?: Maybe, title?: Maybe }>>> }> }; +export type CmsBlockQuery = { cmsBlocks?: { items?: Array<{ content?: string | null | undefined, identifier?: string | null | undefined, title?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type CmsPageQueryVariables = Exact<{ identifier?: Maybe; }>; -export type CmsPageQuery = { cmsPage?: Maybe<{ identifier?: Maybe, content?: Maybe, title?: Maybe, meta_title?: Maybe, meta_description?: Maybe, content_heading?: Maybe }> }; - -export type ConfigurableProductDetailQueryVariables = Exact<{ - search?: Maybe; - filter?: Maybe; - pageSize?: Maybe; - currentPage?: Maybe; - sort?: Maybe; - configurations?: Maybe | Scalars['ID']>; -}>; - - -export type ConfigurableProductDetailQuery = { products?: Maybe<{ items?: Maybe> }>>>, media_gallery?: Maybe, label?: Maybe, position?: Maybe, url?: Maybe } | { disabled?: Maybe, label?: Maybe, position?: Maybe, url?: Maybe }>>>, variant?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { uid: string } | { uid: string } | { uid: string } | { uid: string }>>> }> }; +export type CmsPageQuery = { cmsPage?: { identifier?: string | null | undefined, content?: string | null | undefined, title?: string | null | undefined, meta_title?: string | null | undefined, meta_description?: string | null | undefined, content_heading?: string | null | undefined } | null | undefined }; export type CountriesListQueryVariables = Exact<{ [key: string]: never; }>; -export type CountriesListQuery = { countries?: Maybe, two_letter_abbreviation?: Maybe, full_name_locale?: Maybe, full_name_english?: Maybe }>>> }; +export type CountriesListQuery = { countries?: Array<{ id?: string | null | undefined, two_letter_abbreviation?: string | null | undefined, full_name_locale?: string | null | undefined, full_name_english?: string | null | undefined } | null | undefined> | null | undefined }; export type CountryInformationQueryVariables = Exact<{ id?: Maybe; }>; -export type CountryInformationQuery = { country?: Maybe<{ id?: Maybe, two_letter_abbreviation?: Maybe, full_name_locale?: Maybe, full_name_english?: Maybe, available_regions?: Maybe, code?: Maybe, name?: Maybe }>>> }> }; +export type CountryInformationQuery = { country?: { id?: string | null | undefined, two_letter_abbreviation?: string | null | undefined, full_name_locale?: string | null | undefined, full_name_english?: string | null | undefined, available_regions?: Array<{ id?: number | null | undefined, code?: string | null | undefined, name?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type CreateCustomerMutationVariables = Exact<{ input: CustomerCreateInput; }>; -export type CreateCustomerMutation = { createCustomerV2?: Maybe<{ customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, is_subscribed?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> } }> }; +export type CreateCustomerMutation = { createCustomerV2?: { customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: string | null | undefined, default_billing?: string | null | undefined, default_shipping?: string | null | undefined, email?: string | null | undefined, firstname?: string | null | undefined, is_subscribed?: boolean | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, prefix?: string | null | undefined, suffix?: string | null | undefined, taxvat?: string | null | undefined, addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } } | null | undefined }; export type CreateCustomerAddressMutationVariables = Exact<{ input: CustomerAddressInput; }>; -export type CreateCustomerAddressMutation = { createCustomerAddress?: Maybe<{ id?: Maybe, country_code?: Maybe, street?: Maybe>>, telephone?: Maybe, postcode?: Maybe, city?: Maybe, default_shipping?: Maybe, default_billing?: Maybe, region?: Maybe<{ region?: Maybe, region_id?: Maybe, region_code?: Maybe }> }> }; +export type CreateCustomerAddressMutation = { createCustomerAddress?: { id?: number | null | undefined, country_code?: CountryCodeEnum | null | undefined, street?: Array | null | undefined, telephone?: string | null | undefined, postcode?: string | null | undefined, city?: string | null | undefined, default_shipping?: boolean | null | undefined, default_billing?: boolean | null | undefined, region?: { region?: string | null | undefined, region_id?: number | null | undefined, region_code?: string | null | undefined } | null | undefined } | null | undefined }; export type CreateEmptyCartMutationVariables = Exact<{ [key: string]: never; }>; -export type CreateEmptyCartMutation = { createEmptyCart?: Maybe }; +export type CreateEmptyCartMutation = { createEmptyCart?: string | null | undefined }; export type CreateProductReviewMutationVariables = Exact<{ input: CreateProductReviewInput; }>; -export type CreateProductReviewMutation = { createProductReview: { review: { average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array> } } }; +export type CreateProductReviewMutation = { createProductReview: { review: { average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } } }; export type CustomerQueryVariables = Exact<{ [key: string]: never; }>; -export type CustomerQuery = { customer?: Maybe<{ is_subscribed?: Maybe, allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> }> }; +export type CustomerQuery = { customer?: { allow_remote_shopping_assistance: boolean, date_of_birth?: string | null | undefined, default_billing?: string | null | undefined, default_shipping?: string | null | undefined, email?: string | null | undefined, firstname?: string | null | undefined, is_subscribed?: boolean | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, prefix?: string | null | undefined, suffix?: string | null | undefined, taxvat?: string | null | undefined, addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type CustomerCartQueryVariables = Exact<{ [key: string]: never; }>; -export type CustomerCartQuery = { customerCart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }; +export type CustomerCartQuery = { customerCart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } }; export type CustomerOrdersQueryVariables = Exact<{ currentPage?: Maybe; @@ -6766,7 +7144,7 @@ export type CustomerOrdersQueryVariables = Exact<{ }>; -export type CustomerOrdersQuery = { customer?: Maybe<{ orders?: Maybe<{ items: Array, grand_total?: Maybe, status: string, shipping_method?: Maybe, total?: Maybe<{ discounts?: Maybe, value?: Maybe } }>>>, base_grand_total: { currency?: Maybe, value?: Maybe }, shipping_handling?: Maybe<{ amount_excluding_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, amount_including_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, discounts?: Maybe, value?: Maybe } }>>>, taxes?: Maybe, value?: Maybe } }>>>, total_amount: { currency?: Maybe, value?: Maybe } }>, subtotal: { currency?: Maybe, value?: Maybe }, taxes?: Maybe, value?: Maybe } }>>>, total_shipping: { currency?: Maybe, value?: Maybe }, total_tax: { currency?: Maybe, value?: Maybe } }>, comments?: Maybe>>, invoices: Array>>, items?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } } | { id: string, product_name?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } } | { id: string, product_name?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } }>>>, total?: Maybe<{ discounts?: Maybe, value?: Maybe } }>>>, base_grand_total: { currency?: Maybe, value?: Maybe }, shipping_handling?: Maybe<{ amount_excluding_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, amount_including_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, discounts?: Maybe, value?: Maybe } }>>>, taxes?: Maybe, value?: Maybe } }>>>, total_amount: { currency?: Maybe, value?: Maybe } }>, subtotal: { currency?: Maybe, value?: Maybe }, taxes?: Maybe, value?: Maybe } }>>>, total_shipping: { currency?: Maybe, value?: Maybe }, total_tax: { currency?: Maybe, value?: Maybe } }> }>>, items?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> } | { id: string, product_name?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> } | { id: string, product_name?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> }>>>, payment_methods?: Maybe, value?: Maybe }>>> }>>>, shipments?: Maybe>>, tracking?: Maybe, title: string }>>>, items?: Maybe, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: Maybe, value?: Maybe } } | { id: string, product_name?: Maybe, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: Maybe, value?: Maybe } }>>> }>>>, shipping_address?: Maybe<{ city: string, country_code?: Maybe, firstname: string, lastname: string, postcode?: Maybe, prefix?: Maybe, region?: Maybe, street: Array>, suffix?: Maybe, telephone: string }> }>> }> }> }; +export type CustomerOrdersQuery = { customer?: { orders?: { items: Array<{ order_number: string, id: string, created_at?: string | null | undefined, grand_total?: number | null | undefined, status: string, shipping_method?: string | null | undefined, total?: { discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, base_grand_total: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, shipping_handling?: { amount_excluding_tax?: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } | null | undefined, amount_including_tax?: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } | null | undefined, discounts?: Array<{ amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, taxes?: Array<{ rate: number, title: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, total_amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, subtotal: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, taxes?: Array<{ rate: number, title: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, total_shipping: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, total_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, comments?: Array<{ message: string, timestamp: string } | null | undefined> | null | undefined, invoices: Array<{ id: string, number: string, comments?: Array<{ message: string, timestamp: string } | null | undefined> | null | undefined, items?: Array<{ id: string, product_name?: string | null | undefined, product_sku: string, quantity_invoiced?: number | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | { id: string, product_name?: string | null | undefined, product_sku: string, quantity_invoiced?: number | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | { id: string, product_name?: string | null | undefined, product_sku: string, quantity_invoiced?: number | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, total?: { discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, base_grand_total: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, shipping_handling?: { amount_excluding_tax?: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } | null | undefined, amount_including_tax?: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } | null | undefined, discounts?: Array<{ amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, taxes?: Array<{ rate: number, title: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, total_amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, subtotal: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, taxes?: Array<{ rate: number, title: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, total_shipping: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, total_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined } | null | undefined>, items?: Array<{ id: string, product_name?: string | null | undefined, product_sku: string, product_type?: string | null | undefined, product_url_key?: string | null | undefined, quantity_canceled?: number | null | undefined, quantity_invoiced?: number | null | undefined, quantity_ordered?: number | null | undefined, quantity_refunded?: number | null | undefined, quantity_returned?: number | null | undefined, quantity_shipped?: number | null | undefined, status?: string | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, entered_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, selected_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined } | { id: string, product_name?: string | null | undefined, product_sku: string, product_type?: string | null | undefined, product_url_key?: string | null | undefined, quantity_canceled?: number | null | undefined, quantity_invoiced?: number | null | undefined, quantity_ordered?: number | null | undefined, quantity_refunded?: number | null | undefined, quantity_returned?: number | null | undefined, quantity_shipped?: number | null | undefined, status?: string | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, entered_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, selected_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined } | { id: string, product_name?: string | null | undefined, product_sku: string, product_type?: string | null | undefined, product_url_key?: string | null | undefined, quantity_canceled?: number | null | undefined, quantity_invoiced?: number | null | undefined, quantity_ordered?: number | null | undefined, quantity_refunded?: number | null | undefined, quantity_returned?: number | null | undefined, quantity_shipped?: number | null | undefined, status?: string | null | undefined, discounts?: Array<{ label: string, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined, entered_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, selected_options?: Array<{ label: string, value: string } | null | undefined> | null | undefined } | null | undefined> | null | undefined, payment_methods?: Array<{ name: string, type: string, additional_data?: Array<{ name?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, shipments?: Array<{ id: string, number: string, comments?: Array<{ message: string, timestamp: string } | null | undefined> | null | undefined, tracking?: Array<{ carrier: string, number?: string | null | undefined, title: string } | null | undefined> | null | undefined, items?: Array<{ id: string, product_name?: string | null | undefined, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | { id: string, product_name?: string | null | undefined, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined } | null | undefined> | null | undefined, shipping_address?: { city: string, country_code?: CountryCodeEnum | null | undefined, firstname: string, lastname: string, postcode?: string | null | undefined, prefix?: string | null | undefined, region?: string | null | undefined, street: Array, suffix?: string | null | undefined, telephone: string } | null | undefined } | null | undefined> } | null | undefined } | null | undefined }; export type CustomerProductReviewQueryVariables = Exact<{ pageSize?: Maybe; @@ -6774,14 +7152,14 @@ export type CustomerProductReviewQueryVariables = Exact<{ }>; -export type CustomerProductReviewQuery = { customer?: Maybe<{ reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } }> }; +export type CustomerProductReviewQuery = { customer?: { reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | null | undefined }; export type DeleteCustomerAddressMutationVariables = Exact<{ id: Scalars['Int']; }>; -export type DeleteCustomerAddressMutation = { deleteCustomerAddress?: Maybe }; +export type DeleteCustomerAddressMutation = { deleteCustomerAddress?: boolean | null | undefined }; export type GenerateCustomerTokenMutationVariables = Exact<{ email: Scalars['String']; @@ -6789,47 +7167,36 @@ export type GenerateCustomerTokenMutationVariables = Exact<{ }>; -export type GenerateCustomerTokenMutation = { generateCustomerToken?: Maybe<{ token?: Maybe }> }; +export type GenerateCustomerTokenMutation = { generateCustomerToken?: { token?: string | null | undefined } | null | undefined }; export type CustomerAvailablePaymentMethodsQueryVariables = Exact<{ [key: string]: never; }>; -export type CustomerAvailablePaymentMethodsQuery = { customerCart: { available_payment_methods?: Maybe>> } }; +export type CustomerAvailablePaymentMethodsQuery = { customerCart: { available_payment_methods?: Array<{ code: string, title: string } | null | undefined> | null | undefined } }; export type CustomerAvailableShippingMethodsQueryVariables = Exact<{ [key: string]: never; }>; -export type CustomerAvailableShippingMethodsQuery = { customerCart: { shipping_addresses: Array, method_code?: Maybe, method_title?: Maybe, amount: { currency?: Maybe, value?: Maybe }, price_excl_tax: { currency?: Maybe, value?: Maybe }, price_incl_tax: { currency?: Maybe, value?: Maybe } }>>> }>> } }; +export type CustomerAvailableShippingMethodsQuery = { customerCart: { shipping_addresses: Array<{ available_shipping_methods?: Array<{ available: boolean, carrier_code: string, carrier_title: string, error_message?: string | null | undefined, method_code?: string | null | undefined, method_title?: string | null | undefined, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_excl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_incl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined } | null | undefined> } }; export type GuestAvailablePaymentMethodsQueryVariables = Exact<{ cartId: Scalars['String']; }>; -export type GuestAvailablePaymentMethodsQuery = { cart?: Maybe<{ available_payment_methods?: Maybe>> }> }; +export type GuestAvailablePaymentMethodsQuery = { cart?: { available_payment_methods?: Array<{ code: string, title: string } | null | undefined> | null | undefined } | null | undefined }; export type GuestAvailableShippingMethodsQueryVariables = Exact<{ cart_id: Scalars['String']; }>; -export type GuestAvailableShippingMethodsQuery = { cart?: Maybe<{ shipping_addresses: Array, method_code?: Maybe, method_title?: Maybe, amount: { currency?: Maybe, value?: Maybe }, price_excl_tax: { currency?: Maybe, value?: Maybe }, price_incl_tax: { currency?: Maybe, value?: Maybe } }>>> }>> }> }; +export type GuestAvailableShippingMethodsQuery = { cart?: { shipping_addresses: Array<{ available_shipping_methods?: Array<{ available: boolean, carrier_code: string, carrier_title: string, error_message?: string | null | undefined, method_code?: string | null | undefined, method_title?: string | null | undefined, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_excl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_incl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined } | null | undefined> } | null | undefined }; export type GetCustomerAddressesQueryVariables = Exact<{ [key: string]: never; }>; -export type GetCustomerAddressesQuery = { customer?: Maybe<{ addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> }> }; - -export type GroupedProductDetailQueryVariables = Exact<{ - search?: Maybe; - filter?: Maybe; - pageSize?: Maybe; - currentPage?: Maybe; - sort?: Maybe; -}>; - - -export type GroupedProductDetailQuery = { products?: Maybe<{ items?: Maybe, qty?: Maybe, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }> }>>> } | { uid: string } | { uid: string }>>> }> }; +export type GetCustomerAddressesQuery = { customer?: { addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type MergeCartsMutationVariables = Exact<{ sourceCartId: Scalars['String']; @@ -6837,14 +7204,14 @@ export type MergeCartsMutationVariables = Exact<{ }>; -export type MergeCartsMutation = { mergeCarts: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }; +export type MergeCartsMutation = { mergeCarts: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } }; export type PlaceOrderMutationVariables = Exact<{ input?: Maybe; }>; -export type PlaceOrderMutation = { placeOrder?: Maybe<{ order: { order_number: string } }> }; +export type PlaceOrderMutation = { placeOrder?: { order: { order_number: string } } | null | undefined }; export type ProductDetailsQueryVariables = Exact<{ search?: Maybe; @@ -6852,10 +7219,11 @@ export type ProductDetailsQueryVariables = Exact<{ pageSize?: Maybe; currentPage?: Maybe; sort?: Maybe; + configurations?: Maybe | Scalars['ID']>; }>; -export type ProductDetailsQuery = { products?: Maybe<{ items?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', options_container?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', options_container?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', options_container?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', options_container?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', options_container?: Maybe, meta_description?: Maybe, meta_keyword?: Maybe, meta_title?: Maybe, uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, description?: Maybe<{ html: string }>, short_description?: Maybe<{ html: string }>, reviews: { items: Array> }>> }, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>>, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> }> }; +export type ProductDetailsQuery = { products?: { items?: Array<{ uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, items?: Array<{ position?: number | null | undefined, required?: boolean | null | undefined, sku?: string | null | undefined, title?: string | null | undefined, type?: string | null | undefined, uid?: string | null | undefined, options?: Array<{ can_change_quantity?: boolean | null | undefined, is_default?: boolean | null | undefined, position?: number | null | undefined, uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, configurable_product_options_selection?: { options_available_for_selection?: Array<{ attribute_code: string, option_value_uids: Array } | null | undefined> | null | undefined, media_gallery?: Array<{ disabled?: boolean | null | undefined, label?: string | null | undefined, position?: number | null | undefined, url?: string | null | undefined } | { disabled?: boolean | null | undefined, label?: string | null | undefined, position?: number | null | undefined, url?: string | null | undefined } | null | undefined> | null | undefined, variant?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, downloadable_product_samples?: Array<{ sample_url?: string | null | undefined, title?: string | null | undefined } | null | undefined> | null | undefined, downloadable_product_links?: Array<{ price?: number | null | undefined, title?: string | null | undefined, uid: string } | null | undefined> | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, items?: Array<{ position?: number | null | undefined, qty?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | { gift_message_available?: string | null | undefined, uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, url_key?: string | null | undefined, rating_summary: number, review_count: number, meta_description?: string | null | undefined, meta_keyword?: string | null | undefined, meta_title?: string | null | undefined, options_container?: string | null | undefined, special_to_date?: string | null | undefined, product_links?: Array<{ link_type?: string | null | undefined, linked_product_sku?: string | null | undefined, linked_product_type?: string | null | undefined, position?: number | null | undefined, sku?: string | null | undefined } | null | undefined> | null | undefined, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> }, small_image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, image?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, media_gallery?: Array<{ url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined> | null | undefined, description?: { html: string } | null | undefined, short_description?: { html: string } | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type ProductReviewQueryVariables = Exact<{ search?: Maybe; @@ -6866,12 +7234,12 @@ export type ProductReviewQueryVariables = Exact<{ }>; -export type ProductReviewQuery = { products?: Maybe<{ items?: Maybe>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } } | { review_count: number, reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } } | { review_count: number, reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } } | { review_count: number, reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } } | { review_count: number, reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } } | { review_count: number, reviews: { items: Array>, product: { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } | { name?: Maybe, uid: string } }>>, page_info: { current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe } } }>>> }> }; +export type ProductReviewQuery = { products?: { items?: Array<{ review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | { review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | { review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | { review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | { review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | { review_count: number, reviews: { items: Array<{ average_rating: number, nickname: string, summary: string, text: string, created_at: string, ratings_breakdown: Array<{ name: string, value: string } | null | undefined>, product: { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } | { name?: string | null | undefined, uid: string } } | null | undefined>, page_info: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } } } | null | undefined> | null | undefined } | null | undefined }; export type ProductReviewRatingsMetadataQueryVariables = Exact<{ [key: string]: never; }>; -export type ProductReviewRatingsMetadataQuery = { productReviewRatingsMetadata: { items: Array> }>> } }; +export type ProductReviewRatingsMetadataQuery = { productReviewRatingsMetadata: { items: Array<{ id: string, name: string, values: Array<{ value_id: string, value: string } | null | undefined> } | null | undefined> } }; export type ProductsListQueryVariables = Exact<{ search?: Maybe; @@ -6882,7 +7250,7 @@ export type ProductsListQueryVariables = Exact<{ }>; -export type ProductsListQuery = { products?: Maybe<{ total_count?: Maybe, aggregations?: Maybe, options?: Maybe, value: string, count?: Maybe }>>> }>>>, items?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>>, page_info?: Maybe<{ current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe }> }> }; +export type ProductsListQuery = { products?: { total_count?: number | null | undefined, aggregations?: Array<{ attribute_code: string, label?: string | null | undefined, options?: Array<{ label?: string | null | undefined, value: string, count?: number | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, items?: Array<{ uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined, page_info?: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } | null | undefined } | null | undefined }; export type RelatedProductQueryVariables = Exact<{ search?: Maybe; @@ -6893,21 +7261,21 @@ export type RelatedProductQueryVariables = Exact<{ }>; -export type RelatedProductQuery = { products?: Maybe<{ items?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, related_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, related_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, related_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, related_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, related_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> }>>> }> }; +export type RelatedProductQuery = { products?: { items?: Array<{ uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, related_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type RemoveCouponFromCartMutationVariables = Exact<{ input?: Maybe; }>; -export type RemoveCouponFromCartMutation = { removeCouponFromCart?: Maybe<{ cart?: Maybe<{ id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> }> }> }; +export type RemoveCouponFromCartMutation = { removeCouponFromCart?: { cart?: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } | null | undefined } | null | undefined }; export type RemoveItemFromCartMutationVariables = Exact<{ input?: Maybe; }>; -export type RemoveItemFromCartMutation = { removeItemFromCart?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type RemoveItemFromCartMutation = { removeItemFromCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type RemoveProductsFromWishlistMutationVariables = Exact<{ id: Scalars['ID']; @@ -6915,80 +7283,89 @@ export type RemoveProductsFromWishlistMutationVariables = Exact<{ }>; -export type RemoveProductsFromWishlistMutation = { removeProductsFromWishlist?: Maybe<{ wishlist: { id?: Maybe, items_count?: Maybe, sharing_code?: Maybe, items_v2?: Maybe<{ items: Array, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> }>>, page_info?: Maybe<{ current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe }> }> } }> }; +export type RemoveProductsFromWishlistMutation = { removeProductsFromWishlist?: { wishlist: { id?: string | null | undefined, items_count?: number | null | undefined, sharing_code?: string | null | undefined, items_v2?: { items: Array<{ id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | null | undefined>, page_info?: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } | null | undefined } | null | undefined } } | null | undefined }; export type RequestPasswordResetEmailMutationVariables = Exact<{ email: Scalars['String']; }>; -export type RequestPasswordResetEmailMutation = { requestPasswordResetEmail?: Maybe }; +export type RequestPasswordResetEmailMutation = { requestPasswordResetEmail?: boolean | null | undefined }; + +export type ResetPasswordMutationVariables = Exact<{ + email: Scalars['String']; + newPassword: Scalars['String']; + resetPasswordToken: Scalars['String']; +}>; + + +export type ResetPasswordMutation = { resetPassword?: boolean | null | undefined }; export type RevokeCustomerTokenMutationVariables = Exact<{ [key: string]: never; }>; -export type RevokeCustomerTokenMutation = { revokeCustomerToken?: Maybe<{ result: boolean }> }; +export type RevokeCustomerTokenMutation = { revokeCustomerToken?: { result: boolean } | null | undefined }; export type SetBillingAddressOnCartMutationVariables = Exact<{ input?: Maybe; }>; -export type SetBillingAddressOnCartMutation = { setBillingAddressOnCart?: Maybe<{ cart: { billing_address?: Maybe<{ firstname: string, lastname: string, company?: Maybe, street: Array>, city: string, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type SetBillingAddressOnCartMutation = { setBillingAddressOnCart?: { cart: { billing_address?: { firstname: string, lastname: string, company?: string | null | undefined, street: Array, city: string, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type SetGuestEmailOnCartMutationVariables = Exact<{ input?: Maybe; }>; -export type SetGuestEmailOnCartMutation = { setGuestEmailOnCart?: Maybe<{ cart: { email?: Maybe } }> }; +export type SetGuestEmailOnCartMutation = { setGuestEmailOnCart?: { cart: { email?: string | null | undefined } } | null | undefined }; export type SetPaymentMethodOnCartMutationVariables = Exact<{ input?: Maybe; }>; -export type SetPaymentMethodOnCartMutation = { setPaymentMethodOnCart?: Maybe<{ cart: { available_payment_methods?: Maybe>>, selected_payment_method?: Maybe<{ code: string, title: string }> } }> }; +export type SetPaymentMethodOnCartMutation = { setPaymentMethodOnCart?: { cart: { available_payment_methods?: Array<{ code: string, title: string } | null | undefined> | null | undefined, selected_payment_method?: { code: string, title: string } | null | undefined } } | null | undefined }; export type SetShippingAddressesOnCartMutationVariables = Exact<{ input?: Maybe; }>; -export type SetShippingAddressesOnCartMutation = { setShippingAddressesOnCart?: Maybe<{ cart: { shipping_addresses: Array, firstname: string, lastname: string, postcode?: Maybe, street: Array>, telephone: string, region?: Maybe<{ code?: Maybe, label?: Maybe, region_id?: Maybe }>, country: { code: string, label: string }, available_shipping_methods?: Maybe, method_code?: Maybe, method_title?: Maybe, amount: { currency?: Maybe, value?: Maybe }, price_excl_tax: { currency?: Maybe, value?: Maybe }, price_incl_tax: { currency?: Maybe, value?: Maybe } }>>> }>> } }> }; +export type SetShippingAddressesOnCartMutation = { setShippingAddressesOnCart?: { cart: { shipping_addresses: Array<{ city: string, company?: string | null | undefined, firstname: string, lastname: string, postcode?: string | null | undefined, street: Array, telephone: string, region?: { code?: string | null | undefined, label?: string | null | undefined, region_id?: number | null | undefined } | null | undefined, country: { code: string, label: string }, available_shipping_methods?: Array<{ available: boolean, carrier_code: string, carrier_title: string, error_message?: string | null | undefined, method_code?: string | null | undefined, method_title?: string | null | undefined, amount: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_excl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, price_incl_tax: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined> | null | undefined } | null | undefined> } } | null | undefined }; export type SetShippingMethodsOnCartMutationVariables = Exact<{ input?: Maybe; }>; -export type SetShippingMethodsOnCartMutation = { setShippingMethodsOnCart?: Maybe<{ cart: { shipping_addresses: Array, currency?: Maybe } }> }>> } }> }; +export type SetShippingMethodsOnCartMutation = { setShippingMethodsOnCart?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type StoreConfigQueryVariables = Exact<{ [key: string]: never; }>; -export type StoreConfigQuery = { storeConfig?: Maybe<{ absolute_footer?: Maybe, base_currency_code?: Maybe, catalog_default_sort_by?: Maybe, category_url_suffix?: Maybe, cms_home_page?: Maybe, cms_no_cookies?: Maybe, code?: Maybe, copyright?: Maybe, default_description?: Maybe, default_display_currency_code?: Maybe, default_keywords?: Maybe, default_title?: Maybe, grid_per_page?: Maybe, grid_per_page_values?: Maybe, head_shortcut_icon?: Maybe, header_logo_src?: Maybe, id?: Maybe, list_per_page?: Maybe, list_per_page_values?: Maybe, locale?: Maybe, logo_alt?: Maybe, logo_height?: Maybe, logo_width?: Maybe, magento_wishlist_general_is_enabled?: Maybe, no_route?: Maybe, product_url_suffix?: Maybe, root_category_id?: Maybe, show_cms_breadcrumbs?: Maybe, store_name?: Maybe, timezone?: Maybe, title_prefix?: Maybe, title_separator?: Maybe, title_suffix?: Maybe, website_id?: Maybe, welcome?: Maybe, allow_guests_to_write_product_reviews?: Maybe, head_includes?: Maybe }> }; +export type StoreConfigQuery = { storeConfig?: { absolute_footer?: string | null | undefined, base_currency_code?: string | null | undefined, catalog_default_sort_by?: string | null | undefined, category_url_suffix?: string | null | undefined, cms_home_page?: string | null | undefined, cms_no_cookies?: string | null | undefined, code?: string | null | undefined, copyright?: string | null | undefined, default_description?: string | null | undefined, default_display_currency_code?: string | null | undefined, default_keywords?: string | null | undefined, default_title?: string | null | undefined, grid_per_page?: number | null | undefined, grid_per_page_values?: string | null | undefined, head_shortcut_icon?: string | null | undefined, header_logo_src?: string | null | undefined, id?: number | null | undefined, list_per_page?: number | null | undefined, list_per_page_values?: string | null | undefined, locale?: string | null | undefined, logo_alt?: string | null | undefined, logo_height?: number | null | undefined, logo_width?: number | null | undefined, magento_wishlist_general_is_enabled?: string | null | undefined, no_route?: string | null | undefined, product_url_suffix?: string | null | undefined, root_category_id?: number | null | undefined, show_cms_breadcrumbs?: number | null | undefined, store_name?: string | null | undefined, timezone?: string | null | undefined, title_prefix?: string | null | undefined, title_separator?: string | null | undefined, title_suffix?: string | null | undefined, website_id?: number | null | undefined, welcome?: string | null | undefined, allow_guests_to_write_product_reviews?: string | null | undefined, head_includes?: string | null | undefined } | null | undefined }; export type SubscribeEmailToNewsletterMutationVariables = Exact<{ email: Scalars['String']; }>; -export type SubscribeEmailToNewsletterMutation = { subscribeEmailToNewsletter?: Maybe<{ status?: Maybe }> }; +export type SubscribeEmailToNewsletterMutation = { subscribeEmailToNewsletter?: { status?: SubscriptionStatusesEnum | null | undefined } | null | undefined }; export type UpdateCartItemsMutationVariables = Exact<{ input?: Maybe; }>; -export type UpdateCartItemsMutation = { updateCartItems?: Maybe<{ cart: { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> } }> }; +export type UpdateCartItemsMutation = { updateCartItems?: { cart: { id: string, email?: string | null | undefined, is_virtual: boolean, total_quantity: number, applied_coupons?: Array<{ code: string } | null | undefined> | null | undefined, prices?: { subtotal_excluding_tax?: { value?: number | null | undefined } | null | undefined, subtotal_including_tax?: { value?: number | null | undefined } | null | undefined, applied_taxes?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, discounts?: Array<{ label: string, amount: { value?: number | null | undefined } } | null | undefined> | null | undefined, grand_total?: { value?: number | null | undefined } | null | undefined } | null | undefined, items?: Array<{ uid: string, quantity: number, bundle_options: Array<{ uid: string, label: string, type: string, values: Array<{ id: number, label: string, price: number, quantity: number } | null | undefined> } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, configurable_options: Array<{ configurable_product_option_uid: string, option_label: string, configurable_product_option_value_uid: string, value_label: string } | null | undefined>, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } }, prices?: { row_total: { value?: number | null | undefined }, row_total_including_tax: { value?: number | null | undefined }, total_item_discount?: { value?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> | null | undefined, shipping_addresses: Array<{ firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string }, selected_shipping_method?: { carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: number | null | undefined, currency?: CurrencyEnum | null | undefined } } | null | undefined } | null | undefined>, billing_address?: { firstname: string, lastname: string, street: Array, city: string, company?: string | null | undefined, postcode?: string | null | undefined, telephone: string, region?: { code?: string | null | undefined, region_id?: number | null | undefined, label?: string | null | undefined } | null | undefined, country: { code: string, label: string } } | null | undefined } } | null | undefined }; export type UpdateCustomerMutationVariables = Exact<{ input: CustomerUpdateInput; }>; -export type UpdateCustomerMutation = { updateCustomerV2?: Maybe<{ customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, is_subscribed?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> } }> }; +export type UpdateCustomerMutation = { updateCustomerV2?: { customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: string | null | undefined, default_billing?: string | null | undefined, default_shipping?: string | null | undefined, email?: string | null | undefined, firstname?: string | null | undefined, is_subscribed?: boolean | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, prefix?: string | null | undefined, suffix?: string | null | undefined, taxvat?: string | null | undefined, addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } } | null | undefined }; export type UpdateCustomerAddressMutationVariables = Exact<{ id: Scalars['Int']; @@ -6996,7 +7373,7 @@ export type UpdateCustomerAddressMutationVariables = Exact<{ }>; -export type UpdateCustomerAddressMutation = { updateCustomerAddress?: Maybe<{ id?: Maybe, city?: Maybe, company?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, fax?: Maybe, firstname?: Maybe, lastname?: Maybe, middlename?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, vat_id?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region?: Maybe, region_code?: Maybe, region_id?: Maybe }> }> }; +export type UpdateCustomerAddressMutation = { updateCustomerAddress?: { id?: number | null | undefined, city?: string | null | undefined, company?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, fax?: string | null | undefined, firstname?: string | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, vat_id?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region?: string | null | undefined, region_code?: string | null | undefined, region_id?: number | null | undefined } | null | undefined } | null | undefined }; export type UpdateCustomerEmailMutationVariables = Exact<{ email: Scalars['String']; @@ -7004,7 +7381,7 @@ export type UpdateCustomerEmailMutationVariables = Exact<{ }>; -export type UpdateCustomerEmailMutation = { updateCustomerEmail?: Maybe<{ customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, is_subscribed?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> } }> }; +export type UpdateCustomerEmailMutation = { updateCustomerEmail?: { customer: { allow_remote_shopping_assistance: boolean, date_of_birth?: string | null | undefined, default_billing?: string | null | undefined, default_shipping?: string | null | undefined, email?: string | null | undefined, firstname?: string | null | undefined, is_subscribed?: boolean | null | undefined, lastname?: string | null | undefined, middlename?: string | null | undefined, prefix?: string | null | undefined, suffix?: string | null | undefined, taxvat?: string | null | undefined, addresses?: Array<{ city?: string | null | undefined, country_code?: CountryCodeEnum | null | undefined, default_billing?: boolean | null | undefined, default_shipping?: boolean | null | undefined, firstname?: string | null | undefined, id?: number | null | undefined, lastname?: string | null | undefined, postcode?: string | null | undefined, prefix?: string | null | undefined, street?: Array | null | undefined, suffix?: string | null | undefined, telephone?: string | null | undefined, extension_attributes?: Array<{ attribute_code?: string | null | undefined, value?: string | null | undefined } | null | undefined> | null | undefined, region?: { region_code?: string | null | undefined, region_id?: number | null | undefined, region?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } } | null | undefined }; export type UpsellProductsQueryVariables = Exact<{ search?: Maybe; @@ -7015,14 +7392,14 @@ export type UpsellProductsQueryVariables = Exact<{ }>; -export type UpsellProductsQuery = { products?: Maybe<{ items?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, upsell_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, upsell_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, upsell_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, upsell_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> } | { uid: string, upsell_products?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }>>> }>>> }> }; +export type UpsellProductsQuery = { products?: { items?: Array<{ uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | { uid: string, upsell_products?: Array<{ __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined> | null | undefined } | null | undefined> | null | undefined } | null | undefined }; export type UrlResolverQueryVariables = Exact<{ url: Scalars['String']; }>; -export type UrlResolverQuery = { urlResolver?: Maybe<{ id?: Maybe, redirectCode?: Maybe, relative_url?: Maybe, type?: Maybe, entity_uid?: Maybe }> }; +export type UrlResolverQuery = { urlResolver?: { id?: number | null | undefined, redirectCode?: number | null | undefined, relative_url?: string | null | undefined, type?: UrlRewriteEntityTypeEnum | null | undefined, entity_uid?: string | null | undefined } | null | undefined }; export type WishlistQueryVariables = Exact<{ currentPage?: Maybe; @@ -7030,184 +7407,4 @@ export type WishlistQueryVariables = Exact<{ }>; -export type WishlistQuery = { customer?: Maybe<{ wishlists: Array, items_count?: Maybe, sharing_code?: Maybe, items_v2?: Maybe<{ items: Array, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> }>>, page_info?: Maybe<{ current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe }> }> }>> }> }; - -export type CustomerAddressDataFragment = { city?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }; - -type CartAddress_BillingCartAddress_Fragment = { firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }; - -type CartAddress_ShippingCartAddress_Fragment = { firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }; - -export type CartAddressFragment = CartAddress_BillingCartAddress_Fragment | CartAddress_ShippingCartAddress_Fragment; - -export type CartDataFragment = { id: string, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>> }; - -type CartProductData_BundleCartItem_Fragment = { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }; - -type CartProductData_ConfigurableCartItem_Fragment = { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }; - -type CartProductData_DownloadableCartItem_Fragment = { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }; - -type CartProductData_SimpleCartItem_Fragment = { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }; - -type CartProductData_VirtualCartItem_Fragment = { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }; - -export type CartProductDataFragment = CartProductData_BundleCartItem_Fragment | CartProductData_ConfigurableCartItem_Fragment | CartProductData_DownloadableCartItem_Fragment | CartProductData_SimpleCartItem_Fragment | CartProductData_VirtualCartItem_Fragment; - -export type CategoryDataFragment = { image?: Maybe, include_in_menu?: Maybe, is_anchor?: Maybe, level?: Maybe, name?: Maybe, position?: Maybe, product_count?: Maybe, uid: string }; - -export type CategoryUrlDataFragment = { url_path?: Maybe, url_suffix?: Maybe }; - -export type CompleteCartDataFragment = { id: string, email?: Maybe, is_virtual: boolean, total_quantity: number, applied_coupons?: Maybe>>, prices?: Maybe<{ subtotal_excluding_tax?: Maybe<{ value?: Maybe }>, subtotal_including_tax?: Maybe<{ value?: Maybe }>, applied_taxes?: Maybe } }>>>, discounts?: Maybe } }>>>, grand_total?: Maybe<{ value?: Maybe }> }>, items?: Maybe> }>>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, configurable_options: Array>, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> } | { uid: string, quantity: number, product: { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }, prices?: Maybe<{ row_total: { value?: Maybe }, row_total_including_tax: { value?: Maybe }, total_item_discount?: Maybe<{ value?: Maybe }> }> }>>>, shipping_addresses: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, selected_shipping_method?: Maybe<{ carrier_code: string, carrier_title: string, method_code: string, method_title: string, amount: { value?: Maybe, currency?: Maybe } }>, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }>>, billing_address?: Maybe<{ firstname: string, lastname: string, street: Array>, city: string, company?: Maybe, postcode?: Maybe, telephone: string, region?: Maybe<{ code?: Maybe, region_id?: Maybe, label?: Maybe }>, country: { code: string, label: string } }> }; - -export type ConfigurableProductOptionsDataFragment = { configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> }; - -export type CustomerDataFragment = { allow_remote_shopping_assistance: boolean, date_of_birth?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, email?: Maybe, firstname?: Maybe, is_subscribed?: Maybe, lastname?: Maybe, middlename?: Maybe, prefix?: Maybe, suffix?: Maybe, taxvat?: Maybe, addresses?: Maybe, country_code?: Maybe, default_billing?: Maybe, default_shipping?: Maybe, firstname?: Maybe, id?: Maybe, lastname?: Maybe, postcode?: Maybe, prefix?: Maybe, street?: Maybe>>, suffix?: Maybe, telephone?: Maybe, extension_attributes?: Maybe, value?: Maybe }>>>, region?: Maybe<{ region_code?: Maybe, region_id?: Maybe, region?: Maybe }> }>>> }; - -type InvoiceItemData_BundleInvoiceItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } }; - -type InvoiceItemData_DownloadableInvoiceItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } }; - -type InvoiceItemData_InvoiceItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, quantity_invoiced?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, product_sale_price: { currency?: Maybe, value?: Maybe } }; - -export type InvoiceItemDataFragment = InvoiceItemData_BundleInvoiceItem_Fragment | InvoiceItemData_DownloadableInvoiceItem_Fragment | InvoiceItemData_InvoiceItem_Fragment; - -export type InvoiceTotalDataFragment = { discounts?: Maybe, value?: Maybe } }>>>, base_grand_total: { currency?: Maybe, value?: Maybe }, shipping_handling?: Maybe<{ amount_excluding_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, amount_including_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, discounts?: Maybe, value?: Maybe } }>>>, taxes?: Maybe, value?: Maybe } }>>>, total_amount: { currency?: Maybe, value?: Maybe } }>, subtotal: { currency?: Maybe, value?: Maybe }, taxes?: Maybe, value?: Maybe } }>>>, total_shipping: { currency?: Maybe, value?: Maybe }, total_tax: { currency?: Maybe, value?: Maybe } }; - -export type OrderAddressDataFragment = { city: string, country_code?: Maybe, firstname: string, lastname: string, postcode?: Maybe, prefix?: Maybe, region?: Maybe, street: Array>, suffix?: Maybe, telephone: string }; - -type OrderItemData_BundleOrderItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> }; - -type OrderItemData_DownloadableOrderItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> }; - -type OrderItemData_OrderItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, product_type?: Maybe, product_url_key?: Maybe, quantity_canceled?: Maybe, quantity_invoiced?: Maybe, quantity_ordered?: Maybe, quantity_refunded?: Maybe, quantity_returned?: Maybe, quantity_shipped?: Maybe, status?: Maybe, discounts?: Maybe, value?: Maybe } }>>>, entered_options?: Maybe>>, product_sale_price: { currency?: Maybe, value?: Maybe }, selected_options?: Maybe>> }; - -export type OrderItemDataFragment = OrderItemData_BundleOrderItem_Fragment | OrderItemData_DownloadableOrderItem_Fragment | OrderItemData_OrderItem_Fragment; - -export type OrderTotalDataFragment = { discounts?: Maybe, value?: Maybe } }>>>, base_grand_total: { currency?: Maybe, value?: Maybe }, shipping_handling?: Maybe<{ amount_excluding_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, amount_including_tax?: Maybe<{ currency?: Maybe, value?: Maybe }>, discounts?: Maybe, value?: Maybe } }>>>, taxes?: Maybe, value?: Maybe } }>>>, total_amount: { currency?: Maybe, value?: Maybe } }>, subtotal: { currency?: Maybe, value?: Maybe }, taxes?: Maybe, value?: Maybe } }>>>, total_shipping: { currency?: Maybe, value?: Maybe }, total_tax: { currency?: Maybe, value?: Maybe } }; - -type ProductCategoriesData_BundleProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductCategoriesData_ConfigurableProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductCategoriesData_DownloadableProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductCategoriesData_GroupedProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductCategoriesData_SimpleProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductCategoriesData_VirtualProduct_Fragment = { categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -export type ProductCategoriesDataFragment = ProductCategoriesData_BundleProduct_Fragment | ProductCategoriesData_ConfigurableProduct_Fragment | ProductCategoriesData_DownloadableProduct_Fragment | ProductCategoriesData_GroupedProduct_Fragment | ProductCategoriesData_SimpleProduct_Fragment | ProductCategoriesData_VirtualProduct_Fragment; - -type ProductData_BundleProduct_Fragment = { __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductData_ConfigurableProduct_Fragment = { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>> }; - -type ProductData_DownloadableProduct_Fragment = { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductData_GroupedProduct_Fragment = { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductData_SimpleProduct_Fragment = { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -type ProductData_VirtualProduct_Fragment = { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, url_rewrites?: Maybe }>>>, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>> }; - -export type ProductDataFragment = ProductData_BundleProduct_Fragment | ProductData_ConfigurableProduct_Fragment | ProductData_DownloadableProduct_Fragment | ProductData_GroupedProduct_Fragment | ProductData_SimpleProduct_Fragment | ProductData_VirtualProduct_Fragment; - -type ProductGalleryData_BundleProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -type ProductGalleryData_ConfigurableProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -type ProductGalleryData_DownloadableProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -type ProductGalleryData_GroupedProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -type ProductGalleryData_SimpleProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -type ProductGalleryData_VirtualProduct_Fragment = { media_gallery?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe } | { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>>> }; - -export type ProductGalleryDataFragment = ProductGalleryData_BundleProduct_Fragment | ProductGalleryData_ConfigurableProduct_Fragment | ProductGalleryData_DownloadableProduct_Fragment | ProductGalleryData_GroupedProduct_Fragment | ProductGalleryData_SimpleProduct_Fragment | ProductGalleryData_VirtualProduct_Fragment; - -type ProductImagesData_BundleProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductImagesData_ConfigurableProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductImagesData_DownloadableProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductImagesData_GroupedProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductImagesData_SimpleProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductImagesData_VirtualProduct_Fragment = { small_image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, image?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -export type ProductImagesDataFragment = ProductImagesData_BundleProduct_Fragment | ProductImagesData_ConfigurableProduct_Fragment | ProductImagesData_DownloadableProduct_Fragment | ProductImagesData_GroupedProduct_Fragment | ProductImagesData_SimpleProduct_Fragment | ProductImagesData_VirtualProduct_Fragment; - -type ProductMediaConfigurationData_ProductImage_Fragment = { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }; - -type ProductMediaConfigurationData_ProductVideo_Fragment = { url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }; - -export type ProductMediaConfigurationDataFragment = ProductMediaConfigurationData_ProductImage_Fragment | ProductMediaConfigurationData_ProductVideo_Fragment; - -type ProductPriceRangeData_BundleProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -type ProductPriceRangeData_ConfigurableProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -type ProductPriceRangeData_DownloadableProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -type ProductPriceRangeData_GroupedProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -type ProductPriceRangeData_SimpleProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -type ProductPriceRangeData_VirtualProduct_Fragment = { price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }; - -export type ProductPriceRangeDataFragment = ProductPriceRangeData_BundleProduct_Fragment | ProductPriceRangeData_ConfigurableProduct_Fragment | ProductPriceRangeData_DownloadableProduct_Fragment | ProductPriceRangeData_GroupedProduct_Fragment | ProductPriceRangeData_SimpleProduct_Fragment | ProductPriceRangeData_VirtualProduct_Fragment; - -type ProductPriceTierData_BundleProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -type ProductPriceTierData_ConfigurableProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -type ProductPriceTierData_DownloadableProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -type ProductPriceTierData_GroupedProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -type ProductPriceTierData_SimpleProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -type ProductPriceTierData_VirtualProduct_Fragment = { price_tiers?: Maybe, discount?: Maybe<{ amount_off?: Maybe, percent_off?: Maybe }>, final_price?: Maybe<{ currency?: Maybe, value?: Maybe }> }>>> }; - -export type ProductPriceTierDataFragment = ProductPriceTierData_BundleProduct_Fragment | ProductPriceTierData_ConfigurableProduct_Fragment | ProductPriceTierData_DownloadableProduct_Fragment | ProductPriceTierData_GroupedProduct_Fragment | ProductPriceTierData_SimpleProduct_Fragment | ProductPriceTierData_VirtualProduct_Fragment; - -type ProductThumbnailData_BundleProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductThumbnailData_ConfigurableProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductThumbnailData_DownloadableProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductThumbnailData_GroupedProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductThumbnailData_SimpleProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -type ProductThumbnailData_VirtualProduct_Fragment = { thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }> }; - -export type ProductThumbnailDataFragment = ProductThumbnailData_BundleProduct_Fragment | ProductThumbnailData_ConfigurableProduct_Fragment | ProductThumbnailData_DownloadableProduct_Fragment | ProductThumbnailData_GroupedProduct_Fragment | ProductThumbnailData_SimpleProduct_Fragment | ProductThumbnailData_VirtualProduct_Fragment; - -type ProductUrlFragmentData_BundleProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -type ProductUrlFragmentData_ConfigurableProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -type ProductUrlFragmentData_DownloadableProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -type ProductUrlFragmentData_GroupedProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -type ProductUrlFragmentData_SimpleProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -type ProductUrlFragmentData_VirtualProduct_Fragment = { url_key?: Maybe, url_rewrites?: Maybe }>>> }; - -export type ProductUrlFragmentDataFragment = ProductUrlFragmentData_BundleProduct_Fragment | ProductUrlFragmentData_ConfigurableProduct_Fragment | ProductUrlFragmentData_DownloadableProduct_Fragment | ProductUrlFragmentData_GroupedProduct_Fragment | ProductUrlFragmentData_SimpleProduct_Fragment | ProductUrlFragmentData_VirtualProduct_Fragment; - -type ShipmentItemData_BundleShipmentItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: Maybe, value?: Maybe } }; - -type ShipmentItemData_ShipmentItem_Fragment = { id: string, product_name?: Maybe, product_sku: string, quantity_shipped: number, product_sale_price: { currency?: Maybe, value?: Maybe } }; - -export type ShipmentItemDataFragment = ShipmentItemData_BundleShipmentItem_Fragment | ShipmentItemData_ShipmentItem_Fragment; - -export type WishlistDataFragment = { id?: Maybe, items_count?: Maybe, sharing_code?: Maybe, items_v2?: Maybe<{ items: Array, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> } | { id: string, quantity: number, description?: Maybe, added_at: string, product?: Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, items?: Maybe, title?: Maybe, options?: Maybe, product?: Maybe<{ uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } } | { uid: string, sku?: Maybe, name?: Maybe, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } } }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'ConfigurableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, configurable_options?: Maybe, attribute_uid: string, label?: Maybe, position?: Maybe, uid: string, use_default?: Maybe, values?: Maybe, uid?: Maybe, swatch_data?: Maybe<{ value?: Maybe } | { value?: Maybe } | { value?: Maybe }> }>>> }>>>, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'GroupedProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'SimpleProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> } | { __typename: 'VirtualProduct', uid: string, sku?: Maybe, name?: Maybe, stock_status?: Maybe, only_x_left_in_stock?: Maybe, rating_summary: number, review_count: number, url_key?: Maybe, reviews: { items: Array> }>> }, categories?: Maybe, url_suffix?: Maybe, url_path?: Maybe, breadcrumbs?: Maybe, category_url_path?: Maybe }>>> }>>>, price_range: { maximum_price?: Maybe<{ final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } }>, minimum_price: { final_price: { currency?: Maybe, value?: Maybe }, regular_price: { currency?: Maybe, value?: Maybe } } }, thumbnail?: Maybe<{ url?: Maybe, position?: Maybe, disabled?: Maybe, label?: Maybe }>, url_rewrites?: Maybe }>>> }> }>>, page_info?: Maybe<{ current_page?: Maybe, page_size?: Maybe, total_pages?: Maybe }> }> }; +export type WishlistQuery = { customer?: { wishlists: Array<{ id?: string | null | undefined, items_count?: number | null | undefined, sharing_code?: string | null | undefined, items_v2?: { items: Array<{ id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | { id: string, quantity: number, description?: string | null | undefined, added_at: string, product?: { __typename: 'BundleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, items?: Array<{ sku?: string | null | undefined, title?: string | null | undefined, options?: Array<{ uid: string, quantity?: number | null | undefined, product?: { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | { uid: string, sku?: string | null | undefined, name?: string | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } } } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'ConfigurableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, configurable_options?: Array<{ attribute_code?: string | null | undefined, attribute_uid: string, label?: string | null | undefined, position?: number | null | undefined, uid: string, use_default?: boolean | null | undefined, values?: Array<{ label?: string | null | undefined, uid?: string | null | undefined, swatch_data?: { value?: string | null | undefined } | { value?: string | null | undefined } | { value?: string | null | undefined } | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'DownloadableProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'GroupedProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'SimpleProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | { __typename: 'VirtualProduct', uid: string, sku?: string | null | undefined, name?: string | null | undefined, stock_status?: ProductStockStatus | null | undefined, only_x_left_in_stock?: number | null | undefined, rating_summary: number, url_key?: string | null | undefined, review_count: number, categories?: Array<{ uid: string, name?: string | null | undefined, url_suffix?: string | null | undefined, url_path?: string | null | undefined, breadcrumbs?: Array<{ category_name?: string | null | undefined, category_url_path?: string | null | undefined } | null | undefined> | null | undefined } | null | undefined> | null | undefined, price_range: { maximum_price?: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } | null | undefined, minimum_price: { final_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined }, regular_price: { currency?: CurrencyEnum | null | undefined, value?: number | null | undefined } } }, thumbnail?: { url?: string | null | undefined, position?: number | null | undefined, disabled?: boolean | null | undefined, label?: string | null | undefined } | null | undefined, url_rewrites?: Array<{ url?: string | null | undefined } | null | undefined> | null | undefined, reviews: { items: Array<{ average_rating: number, ratings_breakdown: Array<{ name: string, value: string } | null | undefined> } | null | undefined> } } | null | undefined } | null | undefined>, page_info?: { current_page?: number | null | undefined, page_size?: number | null | undefined, total_pages?: number | null | undefined } | null | undefined } | null | undefined } | null | undefined> } | null | undefined }; diff --git a/packages/api-client/src/types/fragmentTypes.json b/packages/api-client/src/types/fragmentTypes.json index 0b3399caf..34b84a1dd 100644 --- a/packages/api-client/src/types/fragmentTypes.json +++ b/packages/api-client/src/types/fragmentTypes.json @@ -1 +1 @@ -{"CartAddressInterface":["BillingCartAddress","ShippingCartAddress"],"CartItemInterface":["SimpleCartItem","VirtualCartItem","DownloadableCartItem","BundleCartItem","ConfigurableCartItem"],"ProductInterface":["VirtualProduct","SimpleProduct","DownloadableProduct","BundleProduct","GroupedProduct","ConfigurableProduct"],"CategoryInterface":["CategoryTree"],"MediaGalleryInterface":["ProductImage","ProductVideo"],"ProductLinksInterface":["ProductLinks"],"CreditMemoItemInterface":["DownloadableCreditMemoItem","BundleCreditMemoItem","CreditMemoItem"],"OrderItemInterface":["DownloadableOrderItem","BundleOrderItem","OrderItem"],"InvoiceItemInterface":["DownloadableInvoiceItem","BundleInvoiceItem","InvoiceItem"],"ShipmentItemInterface":["BundleShipmentItem","ShipmentItem"],"WishlistItemInterface":["SimpleWishlistItem","VirtualWishlistItem","DownloadableWishlistItem","BundleWishlistItem","GroupedProductWishlistItem","ConfigurableWishlistItem"],"AggregationOptionInterface":["AggregationOption"],"LayerFilterItemInterface":["LayerFilterItem","SwatchLayerFilterItem"],"PhysicalProductInterface":["SimpleProduct","BundleProduct","GroupedProduct","ConfigurableProduct"],"CustomizableOptionInterface":["CustomizableAreaOption","CustomizableDateOption","CustomizableDropDownOption","CustomizableMultipleOption","CustomizableFieldOption","CustomizableFileOption","CustomizableRadioOption","CustomizableCheckboxOption"],"CustomizableProductInterface":["VirtualProduct","SimpleProduct","DownloadableProduct","BundleProduct","ConfigurableProduct"],"SwatchDataInterface":["ImageSwatchData","TextSwatchData","ColorSwatchData"],"SwatchLayerFilterItemInterface":["SwatchLayerFilterItem"]} \ No newline at end of file +{"__schema":{"types":[{"kind":"INTERFACE","name":"CartAddressInterface","possibleTypes":[{"name":"BillingCartAddress"},{"name":"ShippingCartAddress"}]},{"kind":"INTERFACE","name":"CartItemInterface","possibleTypes":[{"name":"SimpleCartItem"},{"name":"VirtualCartItem"},{"name":"DownloadableCartItem"},{"name":"BundleCartItem"},{"name":"ConfigurableCartItem"}]},{"kind":"INTERFACE","name":"ProductInterface","possibleTypes":[{"name":"VirtualProduct"},{"name":"SimpleProduct"},{"name":"DownloadableProduct"},{"name":"BundleProduct"},{"name":"GroupedProduct"},{"name":"ConfigurableProduct"}]},{"kind":"INTERFACE","name":"CategoryInterface","possibleTypes":[{"name":"CategoryTree"}]},{"kind":"INTERFACE","name":"MediaGalleryInterface","possibleTypes":[{"name":"ProductImage"},{"name":"ProductVideo"}]},{"kind":"INTERFACE","name":"ProductLinksInterface","possibleTypes":[{"name":"ProductLinks"}]},{"kind":"INTERFACE","name":"RoutableInterface","possibleTypes":[{"name":"CategoryTree"},{"name":"CmsPage"},{"name":"VirtualProduct"},{"name":"SimpleProduct"},{"name":"DownloadableProduct"},{"name":"BundleProduct"},{"name":"GroupedProduct"},{"name":"ConfigurableProduct"}]},{"kind":"INTERFACE","name":"CreditMemoItemInterface","possibleTypes":[{"name":"DownloadableCreditMemoItem"},{"name":"BundleCreditMemoItem"},{"name":"CreditMemoItem"}]},{"kind":"INTERFACE","name":"OrderItemInterface","possibleTypes":[{"name":"DownloadableOrderItem"},{"name":"BundleOrderItem"},{"name":"OrderItem"}]},{"kind":"INTERFACE","name":"InvoiceItemInterface","possibleTypes":[{"name":"DownloadableInvoiceItem"},{"name":"BundleInvoiceItem"},{"name":"InvoiceItem"}]},{"kind":"INTERFACE","name":"ShipmentItemInterface","possibleTypes":[{"name":"BundleShipmentItem"},{"name":"ShipmentItem"}]},{"kind":"INTERFACE","name":"WishlistItemInterface","possibleTypes":[{"name":"SimpleWishlistItem"},{"name":"VirtualWishlistItem"},{"name":"DownloadableWishlistItem"},{"name":"BundleWishlistItem"},{"name":"GroupedProductWishlistItem"},{"name":"ConfigurableWishlistItem"}]},{"kind":"INTERFACE","name":"AggregationOptionInterface","possibleTypes":[{"name":"AggregationOption"}]},{"kind":"INTERFACE","name":"LayerFilterItemInterface","possibleTypes":[{"name":"LayerFilterItem"},{"name":"SwatchLayerFilterItem"}]},{"kind":"INTERFACE","name":"PhysicalProductInterface","possibleTypes":[{"name":"SimpleProduct"},{"name":"BundleProduct"},{"name":"GroupedProduct"},{"name":"ConfigurableProduct"}]},{"kind":"INTERFACE","name":"CustomizableOptionInterface","possibleTypes":[{"name":"CustomizableAreaOption"},{"name":"CustomizableDateOption"},{"name":"CustomizableDropDownOption"},{"name":"CustomizableMultipleOption"},{"name":"CustomizableFieldOption"},{"name":"CustomizableFileOption"},{"name":"CustomizableRadioOption"},{"name":"CustomizableCheckboxOption"}]},{"kind":"INTERFACE","name":"CustomizableProductInterface","possibleTypes":[{"name":"VirtualProduct"},{"name":"SimpleProduct"},{"name":"DownloadableProduct"},{"name":"BundleProduct"},{"name":"ConfigurableProduct"}]},{"kind":"INTERFACE","name":"SwatchDataInterface","possibleTypes":[{"name":"ImageSwatchData"},{"name":"TextSwatchData"},{"name":"ColorSwatchData"}]},{"kind":"INTERFACE","name":"SwatchLayerFilterItemInterface","possibleTypes":[{"name":"SwatchLayerFilterItem"}]}]}} \ No newline at end of file diff --git a/packages/composables/README.md b/packages/composables/README.md index 65b08ff90..cd4219654 100644 --- a/packages/composables/README.md +++ b/packages/composables/README.md @@ -1,20 +1,24 @@
  
+ ## Vue Storefront 2 integration with Magento -This project is a Magento 2 integration for Vue Storefront 2. -This integration developed by superheroes from [Caravel](https://github.com/caravelx) and [Leonex](https://www.leonex.de/) ❤️ +### @vue-storefront/magento + +This is only the **composables** package, you need to install the other dependencies also. +This project is a Magento 2 integration for Vue Storefront 2. +This integration developed by superheroes from [Caravel](https://github.com/caravelx) ❤️
-   +
+
[![All Contributors](https://img.shields.io/badge/all_contributors-12-orange.svg?style=flat-square)](#contributors-) - ## How to start if you want to try out the integration ``` @@ -26,10 +30,38 @@ vsf init && cd && yarn && yarn dev ## How to start if you want to contribute? -Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](https://discord.vuestorefront.io)! +Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io)! + ### Requirements: - - NodeJS v14 or later - - Magento >= v2.4 instance for GraphQL endpoint +- NodeJS v14 or later +- Yarn +- Magento >= v2.4.3 instance for GraphQL endpoint +- Change Magento GraphQL Query Complexity and Depth values + +::: warning Don't forget to change the Magento GraphQL Query Complexity and Depth values +Magento 2 by default has a lower value for the complexity of 300, and a higher value for the depth of 20. [Magento 2 - Issue #32427](https://github.com/magento/magento2/issues/32427#issuecomment-860478483) + +The changes are required, due to the size of the queries and mutations in the `api-client` implementation. + +To do this changes, you can use the [Magento 2 module](https://github.com/caravelx/module-graphql-config), which adds a configuration panel to your admin, or do this changes manually. +::: + +To install the Magento 2 GraphQL Config module, on your Magento installation execute: + +```bash +composer require caravelx/module-graphql-config + +php bin/magento module:enable Caravel_GraphQlConfig + +php bin/magento setup:upgrade + +php bin/magento setup:di:compile + +php bin/magento setup:static-content:deploy +``` + +Find more information about the module [GraphQl Custom Config](https://github.com/caravelx/module-graphql-config) + ### Steps 1. Fork the repo 2. Clone your fork of the repo @@ -40,32 +72,37 @@ Want to contribute? Ping us on `magento2-vsf2` channel on [our Discord](https:// ``` 3. Checkout develop branch `git checkout develop` 4. Run `yarn` to install dependencies -5. Copy .env.example and update GraphQL Endpoint +5. Define a store running environment by adding a `STORE_ENV` to your running project or execute the code + ```bash + $ echo "STORE_ENV=dev" >> .env ``` - cp packages/theme/.env.example .env +6. Copy `config/example.json` to an environment named config and update GraphQL Endpoint + ```bash + $ cp packages/theme/config/example.json packages/theme/config/dev.json ``` -6. Update `MAGENTO_GRAPHQL=` with url to Magento 2.4 GrapgQL endpoint +7. Update `magentoGraphQl` with url to Magento >=2.4.2 GraphQL endpoint, and the other variable accordingly to your store configurations. ``` - MAGENTO_GRAPHQL=https://{YOUR_SITE_FRONT_URL}/graphql + "magentoGraphQl": "https://{YOUR_SITE_FRONT_URL}/graphql", ``` -7. Build dependencies `yarn build:api-client && yarn build:composables` -8. Run `yarn dev:theme` to run theme. You can find other commands in `package.json` +8. Build dependencies `yarn build:api-client && yarn build:composables` +9. Run `yarn dev:theme` to run theme. You can find other commands in `package.json` - If you need HMR on Api Client/Composables run `yarn dev:api-client` or `yarn dev:composables` on a separate terminal window. ## Resources - [Vue Storefront Documentation](https://docs.vuestorefront.io/v2/) - [Magento 2 integration Documentation (WIP)](https://docs.vuestorefront.io/magento) -- [Community Chat](https://discord.vuestorefront.io) +- [Community Chat](http://discord.vuestorefront.io) ## Support -If you have any questions about this integration we will be happy to answer them on `magento2-vsf2` channel on [our Discord](discord.vuestorefront.io). +If you have any questions about this integration we will be happy to answer them on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io). ## Contributors ✨ ### Honorable Mentions - [Cyberfuze](https://cyberfuze.com/) +- [Leonex](https://www.leonex.de/) Thanks go to these wonderful people 🙌: @@ -74,7 +111,7 @@ Thanks go to these wonderful people 🙌:

Heitor Ramon Ribeiro

💻 🚧 📆

Heitor Ramon Ribeiro

💻 🚧 📖 📆

Alef Barbeli

💻 📖

Dominik Deimel

💻 📖

Lior Lindvor

💻
- + @@ -99,3 +136,4 @@ Thanks go to these wonderful people 🙌: This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + diff --git a/packages/composables/__tests__/_mountComposable.ts b/packages/composables/__tests__/_mountComposable.ts new file mode 100644 index 000000000..b2e35eeca --- /dev/null +++ b/packages/composables/__tests__/_mountComposable.ts @@ -0,0 +1,15 @@ +import { shallowMount } from '@vue/test-utils'; +import { createComponent } from '@vue/composition-api'; + +const mountComposable = (composableFn) => { + const component = createComponent({ + template: '
my component
', + setup() { + return composableFn(); + }, + }); + + return shallowMount(component); +}; + +export default mountComposable; diff --git a/packages/composables/__tests__/getters/productHelpers.spec.ts b/packages/composables/__tests__/getters/productHelpers.spec.ts new file mode 100644 index 000000000..c92051591 --- /dev/null +++ b/packages/composables/__tests__/getters/productHelpers.spec.ts @@ -0,0 +1,372 @@ +import { + getAttributes, + getAverageRating, + getBreadcrumbs, + getCategory, + getCategoryIds, + getCoverImage, + getDescription, + getFiltered, + getFormattedPrice, + getGallery, + getId, + getName, + getPrice, + getProductRelatedProduct, + getProductSku, + getProductThumbnailImage, + getProductUpsellProduct, + getShortDescription, + getSlug, + getTotalReviews, + getTypeId, + getSwatchData, + getGroupedProducts, + getBundleProducts, +} from '../../src/getters/productGetters'; + +const product = { + "options_container": null, + "meta_description": null, + "meta_keyword": null, + "meta_title": null, + "description": { + "html": "

The sporty Joust Duffle Bag can't be beat - not in the gym, not on the luggage carousel, not anywhere. Big enough to haul a basketball or soccer ball and some sneakers with plenty of room to spare, it's ideal for athletes with places to go.

\n

    \n
  • Dual top handles.
  • \n
  • Adjustable shoulder strap.
  • \n
  • Full-length zipper.
  • \n
  • L 29\" x W 13\" x H 11\".
  • \n
", + "__typename": "ComplexTextValue" + }, + "short_description": { "html": "", "__typename": "ComplexTextValue" }, + "uid": "MQ==", + "__typename": "SimpleProduct", + "sku": "24-MB01", + "name": "Joust Duffle Bag", + "stock_status": "IN_STOCK", + "only_x_left_in_stock": null, + "rating_summary": 50, + "thumbnail": { + "url": "https://m2.caravelx.com/media/catalog/product/cache/746ba992681b73af7e339699b3e0caf7/m/b/mb01-blue-0.jpg", + "position": null, + "disabled": null, + "label": "Joust Duffle Bag", + "__typename": "ProductImage" + }, + "price_range": { + "maximum_price": { + "final_price": { + "currency": "USD", + "value": 34, + "__typename": "Money" + }, + "regular_price": { "currency": "USD", "value": 34, "__typename": "Money" }, + "__typename": "ProductPrice" + }, + "minimum_price": { + "final_price": { + "currency": "USD", + "value": 34, + "__typename": "Money" + }, + "regular_price": { "currency": "USD", "value": 34, "__typename": "Money" }, + "__typename": "ProductPrice" + }, + "__typename": "PriceRange" + }, + "url_key": "joust-duffle-bag", + "url_rewrites": [{ + "url": "joust-duffle-bag.html", + "__typename": "UrlRewrite" + }, { + "url": "gear/joust-duffle-bag.html", + "__typename": "UrlRewrite" + }, { "url": "gear/bags/joust-duffle-bag.html", "__typename": "UrlRewrite" }], + "categories": [{ + "uid": "Mw==", + "name": "Gear", + "url_suffix": ".html", + "url_path": "gear", + "breadcrumbs": null, + "__typename": "CategoryTree" + }, { + "uid": "NA==", + "name": "Bags", + "url_suffix": ".html", + "url_path": "gear/bags", + "breadcrumbs": [{ + "category_name": "Gear", + "category_url_path": "gear", + "__typename": "Breadcrumb" + }], + "__typename": "CategoryTree" + }], + "review_count": 2, + "reviews": { + "items": [{ + "average_rating": 60, + "ratings_breakdown": [{ + "name": "Rating", + "value": "3", + "__typename": "ProductReviewRating" + }], + "__typename": "ProductReview" + }, { + "average_rating": 40, + "ratings_breakdown": [{ + "name": "Rating", + "value": "2", + "__typename": "ProductReviewRating" + }], + "__typename": "ProductReview" + }], "__typename": "ProductReviews" + }, + "small_image": { + "url": "https://m2.caravelx.com/media/catalog/product/cache/746ba992681b73af7e339699b3e0caf7/m/b/mb01-blue-0.jpg", + "position": null, + "disabled": null, + "label": "Joust Duffle Bag", + "__typename": "ProductImage" + }, + "image": { + "url": "https://m2.caravelx.com/media/catalog/product/cache/746ba992681b73af7e339699b3e0caf7/m/b/mb01-blue-0.jpg", + "position": null, + "disabled": null, + "label": "Joust Duffle Bag", + "__typename": "ProductImage" + }, + "media_gallery": [{ + "url": "https://m2.caravelx.com/media/catalog/product/cache/746ba992681b73af7e339699b3e0caf7/m/b/mb01-blue-0.jpg", + "position": 1, + "disabled": false, + "label": "Image", + "__typename": "ProductImage" + }] +} as any; + +describe('[commercetools-getters] product getters', () => { + it('returns default values', () => { + expect(getName(null)).toBe(''); + expect(getSlug(null)).toBe(''); + expect(getGallery(null)).toEqual([]); + expect(getFiltered(null)).toEqual([]); + }); + + it('returns name', () => { + expect(getName(product)).toBe('variant 1'); + }); + + it('returns slug', () => { + expect(getSlug(product)).toBe('variant-1'); + }); + + it('returns price', () => { + expect(getPrice(product)).toEqual({ regular: 12, special: 12 }); + }); + + it('returns gallery', () => { + expect(getGallery(product)).toEqual([ + { + small: 'imageV11/url.jpg', + big: 'imageV11/url.jpg', + normal: 'imageV11/url.jpg' + }, + { + small: 'imageV12/url.jpg', + big: 'imageV12/url.jpg', + normal: 'imageV12/url.jpg' + } + ]); + }); + + it('returns cover image', () => { + expect(getCoverImage({ images: [] } as any)).toEqual(''); + expect(getCoverImage(product)).toEqual('imageV11/url.jpg'); + }); + + it('returns master variant', () => { + const variants = [ + { + _name: 'variant 1', + _master: false + }, + { + _name: 'variant 2', + _master: true + } + ]; + expect(getFiltered(variants as any, { master: true })).toEqual([{ + _name: 'variant 2', + _master: true + }]); + }); + + it('returns master variants', () => { + const variants = [ + { + _name: 'variant 1_1', + _master: false + }, + { + _name: 'variant 1_2', + _master: true + }, + { + _name: 'variant 2_1', + _master: true + }, + { + _name: 'variant 2_2', + _master: false + } + ]; + expect(getFiltered(variants as any, { master: true })).toEqual([ + { + _name: 'variant 1_2', + _master: true + }, + { + _name: 'variant 2_1', + _master: true + } + ]); + }); + + it('returns all variants', () => { + const variants = [ + { + _name: 'variant 1', + _master: false + }, + { + _name: 'variant 2', + _master: true + } + ]; + expect(getFiltered(variants as any)).toEqual(variants); + }); + + it('returns product by given attributes', () => { + const variant1 = { + ...product, + attributesRaw: [ + { + name: 'size', + value: '36', + _translated: '26', + attributeDefinition: { type: { name: 'text' } } + }, + { + name: 'color', + value: 'white', + _translated: 'white', + attributeDefinition: { type: { name: 'text' } } + } + ] + }; + const variant2 = { + ...product, + attributesRaw: [ + { + name: 'size', + value: '38', + _translated: '38', + attributeDefinition: { type: { name: 'text' } } + }, + { + name: 'color', + value: 'black', + _translated: 'black', + attributeDefinition: { type: { name: 'text' } } + } + ] + }; + + const variants = [variant1, variant2]; + + const attributes = { + color: 'black', + size: '38' + }; + expect(getFiltered(variants, { attributes })).toEqual([variant2]); + }); + + // Attributes + + it('returns product attributes', () => { + expect(getAttributes([product])).toEqual({ + articleNumberManufacturer: [{ + label: 'H805 C195 85072', + value: 'H805 C195 85072' + }] + }); + }); + + it('returns attributes of single product', () => { + expect(getAttributes(product)).toEqual({ articleNumberManufacturer: 'H805 C195 85072' }); + }); + + it('returns product unique attributes', () => { + const prod = { + ...product, + attributesRaw: [ + { + name: 'articleNumberManufacturer', + value: 'H805 C195 85072', + _translated: 'H805 C195 85072', + attributeDefinition: { type: { name: 'text' } } + }, + { + name: 'articleNumberManufacturer', + value: 'H805 C195 85072', + _translated: 'H805 C195 85072', + attributeDefinition: { type: { name: 'text' } } + } + ] + } as any; + + expect(getAttributes([prod])).toEqual({ + articleNumberManufacturer: [{ + label: 'H805 C195 85072', + value: 'H805 C195 85072' + }] + }); + }); + + it('returns filtered product attributes', () => { + const product = { + attributesRaw: [ + { + name: 'articleNumberManufacturer', + value: 'H805 C195 85072', + _translated: 'H805 C195 85072', + attributeDefinition: { type: { name: 'text' } } + }, + { + name: 'color', + value: 'H805 C195 85072', + _translated: 'H805 C195 85072', + attributeDefinition: { type: { name: 'text' } } + } + ] + } as any; + + expect(getAttributes([product], ['color'])).toEqual({ + color: [{ + value: 'H805 C195 85072', + label: 'H805 C195 85072' + }] + }); + }); + + it('returns product categories', () => { + expect(getCategoryIds(product)).toEqual([ + 'catA', + 'catB' + ]); + }); + + it('returns product ID', () => { + expect(getId(product)).toEqual(1234); + }); + + it('returns empty array if there is no product', () => { + expect(getAttributes(null)).toEqual({}); + }); +}); diff --git a/packages/composables/__tests__/setup.ts b/packages/composables/__tests__/setup.ts new file mode 100644 index 000000000..72534644a --- /dev/null +++ b/packages/composables/__tests__/setup.ts @@ -0,0 +1,10 @@ +import Vue from 'vue'; +import VueCompositionApi from '@vue/composition-api'; + +// eslint-disable-next-line unicorn/prefer-module +require('jsdom-global')(); + +Vue.config.productionTip = false; +Vue.config.devtools = false; + +Vue.use(VueCompositionApi); diff --git a/packages/composables/api-extractor.json b/packages/composables/api-extractor.json new file mode 100644 index 000000000..52c8609ee --- /dev/null +++ b/packages/composables/api-extractor.json @@ -0,0 +1,10 @@ +{ + "extends": "../../api-extractor.base.json", + "mainEntryPointFilePath": "./lib/index.d.ts", + "dtsRollup": { + "untrimmedFilePath": "./lib/.d.ts" + }, + "docModel": { + "apiJsonFilePath": "/docs/api-reference/.api.json" + } +} diff --git a/packages/composables/package.json b/packages/composables/package.json index 0d67cb16a..5369c4862 100644 --- a/packages/composables/package.json +++ b/packages/composables/package.json @@ -23,15 +23,17 @@ }, "dependencies": { "@vue-storefront/magento-api": "1.0.0-rc.3", - "@vue-storefront/core": "~2.4.1", + "@vue-storefront/core": "~2.4.2", "cookie-universal": "^2.1.5", "vue": "^2.6.12", "vue-demi": "latest" }, "devDependencies": { "@types/js-cookie": "^2.2.7", - "@vue/test-utils": "^1.2.2" - + "@vue/test-utils": "^1.2.2", + "jsdom": "^17.0.0", + "jsdom-global": "^3.0.2", + "vue-template-compiler": "^2.6.x" }, "peerDependencies": { "@vue/composition-api": "1.0.0-beta.21", diff --git a/packages/composables/src/api-extractor-data.ts b/packages/composables/src/api-extractor-data.ts new file mode 100644 index 000000000..d0ad93ce5 --- /dev/null +++ b/packages/composables/src/api-extractor-data.ts @@ -0,0 +1,30 @@ +/** + * `composeables` and `getters` for Magento 2 integration for Vue Storefront 2. + * + * @remarks + * The `@vue-storefront/magento2` library includes everything needed to fetch data from the + * Magento 2 eCommerce platform. This includes API client configuration, API endpoints, and + * GraphQL types and fragments. + * + * @packageDocumentation + */ + +export * from './index'; +export * from './factories/useAddressesFactory'; +export * from './factories/useCartFactory'; +export * from './factories/useCategorySearchFactory'; +export * from './factories/useConfigFactory'; +export * from './factories/useContentFactory'; +export * from './factories/useCountrySearchFactory'; +export * from './factories/useCustomQueryFactory'; +export * from './factories/useExternalCheckoutFactory'; +export * from './factories/useForgotPasswordFactory'; +export * from './factories/useGetShippingMethodsFactory'; +export * from './factories/useGuestUserFactory'; +export * from './factories/useMutationQueryFactory'; +export * from './factories/useNewsletterFactory'; +export * from './factories/usePaymentProviderFactory'; +export * from './factories/useRelatedProductsFactory'; +export * from './factories/useReviewFactory'; +export * from './factories/useUpsellProductsFactory'; +export * from './factories/useUrlResolverFactory'; diff --git a/packages/composables/src/composables/getters/userGetters.ts b/packages/composables/src/composables/getters/userGetters.ts deleted file mode 100644 index 488f7d24e..000000000 --- a/packages/composables/src/composables/getters/userGetters.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* istanbul ignore file */ -import { UserGetters as BaseUserGetters } from '@vue-storefront/core'; -import { User } from '../../types'; - -export const getFirstName = (user: User): string => (user ? user.firstname : ''); - -export const getLastName = (user: User): string => (user ? user.lastname : ''); - -export const getEmailAddress = (user: User): string => (user ? user.email : ''); - -export const getRemoteShoppingAssistance = (user: User): boolean => (user ? user.allow_remote_shopping_assistance : false); - -export const getFullName = (user: User): string => (user ? `${user.firstname} ${user.lastname}` : ''); - -export interface UserGetters extends BaseUserGetters{ - getRemoteShoppingAssistance(user: User): boolean; -} - -const userGetters: UserGetters = { - getFirstName, - getLastName, - getEmailAddress, - getFullName, - getRemoteShoppingAssistance, -}; - -export default userGetters; diff --git a/packages/composables/src/composables/useAddresses/index.ts b/packages/composables/src/composables/useAddresses/index.ts index 6417caa34..8c1c7db38 100644 --- a/packages/composables/src/composables/useAddresses/index.ts +++ b/packages/composables/src/composables/useAddresses/index.ts @@ -3,7 +3,7 @@ import { Context, Logger, } from '@vue-storefront/core'; -import { CustomerAddressDataFragment, CustomerAddressInput } from '@vue-storefront/magento-api'; +import { CustomerAddress, CustomerAddressInput } from '@vue-storefront/magento-api'; import { transformUserCreateAddressInput, transformUserUpdateAddressInput, @@ -25,7 +25,7 @@ type RemoveAddressInput = { } } & CustomQueryParams; -const factoryParams: UseAddressesParams = { Logger.debug('[Magento] save user address:', saveParams.address); const { data } = await context.$magento.api.createCustomerAddress(transformUserCreateAddressInput(saveParams)); + Logger.debug('[Result]:', { data }); + return data.createCustomerAddress; }, remove: async (context: Context, params) => { @@ -48,6 +50,8 @@ RemoveAddressInput> = { const { data } = await context.$magento.api.deleteCustomerAddress(params.address.id); + Logger.debug('[Result]:', { data }); + return !!data.deleteCustomerAddress; }, update: async (context: Context, params) => { @@ -55,6 +59,8 @@ RemoveAddressInput> = { const { data } = await context.$magento.api.updateCustomerAddress(transformUserUpdateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.updateCustomerAddress; }, }; diff --git a/packages/composables/src/composables/useBilling/index.ts b/packages/composables/src/composables/useBilling/index.ts index 368e4a38a..efc619a9c 100644 --- a/packages/composables/src/composables/useBilling/index.ts +++ b/packages/composables/src/composables/useBilling/index.ts @@ -32,8 +32,7 @@ const factoryParams: UseBillingParams = { save: async (context: Context, params) => { Logger.debug('[Magento] setBillingAddress'); const { id } = context.cart.cart.value; - Logger.debug(id); - Logger.debug(typeof id); + const { apartment, sameAsShipping, @@ -53,12 +52,16 @@ const factoryParams: UseBillingParams = { const { data } = await context.$magento.api.setBillingAddressOnCart(setBillingAddressOnCartInput); + Logger.debug('[Result]:', { data }); + /** * This is a workaround needed due to Magento GraphQL API * cleaning the Shipping method after defining the billing address */ const shippingMethod = context.useShippingProvider.state.value; + Logger.debug('[Magento]: Defining the shipping method as:', JSON.stringify(shippingMethod, null, 2)); + await context.useShippingProvider.save({ shippingMethod: { carrier_code: shippingMethod.carrier_code, diff --git a/packages/composables/src/composables/useCart/index.ts b/packages/composables/src/composables/useCart/index.ts index d24eaa35f..5b28404ed 100644 --- a/packages/composables/src/composables/useCart/index.ts +++ b/packages/composables/src/composables/useCart/index.ts @@ -3,8 +3,6 @@ import { Context, Logger, - useCartFactory, - UseCartFactoryParams, } from '@vue-storefront/core'; import { AddConfigurableProductsToCartInput, @@ -15,89 +13,95 @@ import { RemoveItemFromCartInput, UpdateCartItemsInput, } from '@vue-storefront/magento-api'; +import { + UseCartFactoryParams, + useCartFactory, +} from '../../factories/useCartFactory'; const factoryParams: UseCartFactoryParams = { - load: async (context: Context) => { + load: async (context: Context, params: { + customQuery?: any; + realCart?: boolean; + }) => { const apiState = context.$magento.config.state; Logger.debug('[Magento Storefront]: Loading Cart'); + const customerToken = apiState.getCustomerToken(); + const virtual = !params.realCart; + + const createVirtualCart = () => (null as Cart); - const createNewCart = async (): Promise => { + const createRealCart = async (): Promise => { Logger.debug('[Magento Storefront]: useCart.load.createNewCart'); apiState.setCartId(); const { data } = await context.$magento.api.createEmptyCart(); + Logger.debug('[Result]:', { data }); apiState.setCartId(data.createEmptyCart); return data.createEmptyCart; }; - const getCartData = async (id?: string) => { - const fetchData = async (cartId = id) => { - apiState.setCartId(cartId); - const cartResponse = await context.$magento.api.cart(cartId); - - Logger.debug(cartResponse); - - return cartResponse.data.cart as unknown as Cart; - }; + const getCartData = async (id: string) => { + Logger.debug('[Magento Storefront]: useCart.load.getCartData ID->', id); - try { - Logger.debug('[Magento Storefront]: useCart.load.getCartData ID->', id); + const cartResponse = await context.$magento.api.cart(id); + Logger.debug('[Result]:', { data: cartResponse }); - return await fetchData(); - } catch { - apiState.setCartId(); + return cartResponse.data.cart as unknown as Cart; + }; - const cartId = await createNewCart(); + const getCart = async (virtualCart: boolean, cartId?: string) => { + if (!cartId) { + if (virtualCart) { + return createVirtualCart(); + } - return await fetchData(cartId); + cartId = await createRealCart(); + apiState.setCartId(cartId); } - }; - - const generateCart = async (id?: string) => { - const cartId = await createNewCart(); - return getCartData(id || apiState.getCartId() || cartId); + return getCartData(cartId); }; + // Try to load cart for existing customer, clean customer token if not possible if (customerToken) { try { const result = await context.$magento.api.customerCart(); + apiState.setCartId(result.data.customerCart.id); return result.data.customerCart as unknown as Cart; } catch { apiState.setCustomerToken(); - - return await generateCart(); } } - const cartId = apiState.getCartId(); - try { - if (!cartId) { - return await generateCart(); - } - - return await getCartData(cartId); + // If it's not existing customer check if cart id is set and try to load it + const cartId = apiState.getCartId(); + return await getCart(virtual, cartId); } catch { - return generateCart(); + apiState.setCartId(); + return await getCart(virtual); } }, + addItem: async (context: Context, { product, quantity, currentCart, customQuery, }) => { + Logger.debug('[Magento]: Add item to cart', { product, quantity, currentCart }); + const apiState = context.$magento.config.state; let currentCartId = apiState.getCartId(); - if (!currentCartId) { - await factoryParams.load(context, {}); + await factoryParams.load(context, { + realCart: true, + }); currentCartId = apiState.getCartId(); } @@ -122,6 +126,8 @@ const factoryParams: UseCartFactoryParams = { const simpleProduct = await context.$magento.api.addProductsToCart(simpleCartInput); + Logger.debug('[Result]:', { data: simpleProduct }); + // eslint-disable-next-line consistent-return return simpleProduct .data @@ -145,6 +151,8 @@ const factoryParams: UseCartFactoryParams = { const configurableProduct = await context.$magento.api.addConfigurableProductsToCart(configurableCartInput); + Logger.debug('[Result]:', { data: configurableProduct }); + // eslint-disable-next-line consistent-return return configurableProduct .data @@ -167,6 +175,8 @@ const factoryParams: UseCartFactoryParams = { const bundleProduct = await context.$magento.api.addProductsToCart(bundleCartInput); + Logger.debug('[Result]:', { data: bundleProduct }); + // eslint-disable-next-line consistent-return return bundleProduct .data @@ -193,6 +203,8 @@ const factoryParams: UseCartFactoryParams = { currentCart, product, }) => { + Logger.debug('[Magento]: Remove item from cart', { product, currentCart }); + const item = currentCart.items.find((cartItem) => cartItem.uid === product.uid); if (!item) { @@ -206,6 +218,8 @@ const factoryParams: UseCartFactoryParams = { const { data } = await context.$magento.api.removeItemFromCart(removeItemParams); + Logger.debug('[Result]:', { data }); + // eslint-disable-next-line consistent-return return data .removeItemFromCart @@ -217,6 +231,8 @@ const factoryParams: UseCartFactoryParams = { product, quantity, }) => { + Logger.debug('[Magento]: Update product quantity on cart', { product, quantity, currentCart }); + const updateCartParams: UpdateCartItemsInput = { cart_id: currentCart.id, cart_items: [ @@ -227,11 +243,20 @@ const factoryParams: UseCartFactoryParams = { ], }; - const { data } = await context.$magento.api.updateCartItems(updateCartParams); + try { + const { data } = await context.$magento.api.updateCartItems(updateCartParams); - return data - .updateCartItems - .cart as unknown as Cart; + Logger.debug('[Result]:', { data }); + + return data + .updateCartItems + .cart as unknown as Cart; + } catch { + // If we can't change quantity, the card could be expired on Magento side, try to reload + return await factoryParams.load(context, { + realCart: true, + }); + } }, // eslint-disable-next-line @typescript-eslint/no-unused-vars clear: (context: Context, _params = null) => { @@ -243,24 +268,32 @@ const factoryParams: UseCartFactoryParams = { currentCart, couponCode, }) => { - const response = await context.$magento.api.applyCouponToCart({ + Logger.debug('[Magento]: Apply coupon on cart', { couponCode, currentCart }); + + const { data } = await context.$magento.api.applyCouponToCart({ cart_id: currentCart.id, coupon_code: couponCode, }); + Logger.debug('[Result]:', { data }); + return { - updatedCart: response.data.applyCouponToCart.cart as unknown as Cart, + updatedCart: data.applyCouponToCart.cart as unknown as Cart, updatedCoupon: { code: couponCode }, }; }, // eslint-disable-next-line @typescript-eslint/no-unused-vars removeCoupon: async (context: Context, { currentCart }) => { - const response = await context.$magento.api.removeCouponFromCart({ + Logger.debug('[Magento]: Remove coupon from cart', { currentCart }); + + const { data } = await context.$magento.api.removeCouponFromCart({ cart_id: currentCart.id, }); + Logger.debug('[Result]:', { data }); + return { - updatedCart: response.data.removeCouponFromCart.cart as unknown as Cart, + updatedCart: data.removeCouponFromCart.cart as unknown as Cart, updatedCoupon: { code: '' }, }; }, @@ -271,9 +304,7 @@ const factoryParams: UseCartFactoryParams = { currentCart, product, }, - ) => !!currentCart - .items - .find((cartItem) => cartItem.product.uid === product.uid), + ) => !!currentCart?.items.find((cartItem) => cartItem.product.uid === product.uid), }; export default useCartFactory(factoryParams); diff --git a/packages/composables/src/composables/useCategory/index.ts b/packages/composables/src/composables/useCategory/index.ts index 0b2371c8f..f5f63c430 100644 --- a/packages/composables/src/composables/useCategory/index.ts +++ b/packages/composables/src/composables/useCategory/index.ts @@ -1,7 +1,7 @@ import { useCategoryFactory, Context, - UseCategoryFactoryParams, + UseCategoryFactoryParams, Logger, } from '@vue-storefront/core'; import { Category, @@ -9,8 +9,12 @@ import { const factoryParams: UseCategoryFactoryParams = { categorySearch: async (context: Context, params) => { + Logger.debug('[Magento]: List available categories', { params }); + const { data } = await context.$magento.api.categoryList(params); + Logger.debug('[Result]:', { data }); + return data.categories.items; }, }; diff --git a/packages/composables/src/composables/useCategorySearch/index.ts b/packages/composables/src/composables/useCategorySearch/index.ts index f799fe6f6..500ccbd49 100644 --- a/packages/composables/src/composables/useCategorySearch/index.ts +++ b/packages/composables/src/composables/useCategorySearch/index.ts @@ -1,5 +1,5 @@ import { - Context, + Context, Logger, } from '@vue-storefront/core'; import { Category } from '@vue-storefront/magento-api'; import { UseCategorySearchFactory, useCategorySearchFactory } from '../../factories/useCategorySearchFactory'; @@ -7,8 +7,12 @@ import { UseCategorySearch } from '../../types/composables'; const factoryParams: UseCategorySearchFactory = { search: async (context: Context, params): Promise => { + Logger.debug('[Magento]: Search for category using', { params }); + const { data } = await context.$magento.api.categorySearch({ filters: { name: { match: `${params.term}` } } }); + Logger.debug('[Result]:', { data }); + return data.categoryList; }, }; diff --git a/packages/composables/src/composables/useContent/index.ts b/packages/composables/src/composables/useContent/index.ts index 0f6a2dbd0..86e7e3a26 100644 --- a/packages/composables/src/composables/useContent/index.ts +++ b/packages/composables/src/composables/useContent/index.ts @@ -1,15 +1,25 @@ -import { Context } from '@vue-storefront/core'; +import { Context, Logger } from '@vue-storefront/core'; import { Page, CmsBlock } from '@vue-storefront/magento-api'; import { useContentFactory, UseContentFactoryParams } from '../../factories/useContentFactory'; const factoryParams: UseContentFactoryParams = { loadContent: async (context: Context, identifier: string) => { - const result = await context.$magento.api.cmsPage(identifier); - return result.data.cmsPage; + Logger.debug('[Magento]: Load CMS Page content', { identifier }); + + const { data } = await context.$magento.api.cmsPage(identifier); + + Logger.debug('[Result]:', { data }); + + return data.cmsPage; }, loadBlocks: async (context: Context, identifiers: string[]) => { - const result = await context.$magento.api.cmsBlocks(identifiers); - return result.data.cmsBlocks.items; + Logger.debug('[Magento]: Load CMS Blocks content', { identifiers }); + + const { data } = await context.$magento.api.cmsBlocks(identifiers); + + Logger.debug('[Result]:', { data }); + + return data.cmsBlocks.items; }, }; diff --git a/packages/composables/src/composables/useCountrySearch/index.ts b/packages/composables/src/composables/useCountrySearch/index.ts index 6b8978405..2bba38f8b 100644 --- a/packages/composables/src/composables/useCountrySearch/index.ts +++ b/packages/composables/src/composables/useCountrySearch/index.ts @@ -1,5 +1,5 @@ import { - Context, + Context, Logger, } from '@vue-storefront/core'; import { Countries, Country } from '@vue-storefront/magento-api'; import { UseCountryFactoryParams, useCountrySearchFactory } from '../../factories/useCountrySearchFactory'; @@ -7,13 +7,21 @@ import { UseCountrySearch } from '../../types/composables'; const factoryParams: UseCountryFactoryParams = { load: async (context: Context): Promise => { + Logger.debug('[Magento]: Load available countries on store'); + const { data } = await context.$magento.api.countries(); + Logger.debug('[Result]:', { data }); + return data.countries; }, search: async (context: Context, params): Promise => { + Logger.debug('[Magento]: Search country information based on', { params }); + const { data } = await context.$magento.api.country(params.id); + Logger.debug('[Result]:', { data }); + return data.country; }, }; diff --git a/packages/composables/src/composables/useCustomMutation/index.ts b/packages/composables/src/composables/useCustomMutation/index.ts new file mode 100644 index 000000000..25b2e4476 --- /dev/null +++ b/packages/composables/src/composables/useCustomMutation/index.ts @@ -0,0 +1,28 @@ +import { Context, Logger } from '@vue-storefront/core'; +import { FetchPolicy } from '../../types'; +import { useCustomMutationFactory } from '../../factories/useMutationQueryFactory'; + +export default useCustomMutationFactory({ + mutation: async (context: Context, { + mutation, + variables, + fetchPolicy, + }: { + mutation: string, + variables: any, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => { + Logger.debug('[Magento] Custom API Mutation', { variables }); + + const result = await context.$magento.api.customMutation({ + mutation, + mutationVariables: variables, + fetchPolicy, + }); + + Logger.debug('[Custom Mutation -> Result]:', result); + + return result; + }, +}); diff --git a/packages/composables/src/composables/useCustomQuery/index.ts b/packages/composables/src/composables/useCustomQuery/index.ts new file mode 100644 index 000000000..edca06726 --- /dev/null +++ b/packages/composables/src/composables/useCustomQuery/index.ts @@ -0,0 +1,30 @@ +import { Context, Logger } from '@vue-storefront/core'; +import { + useCustomQueryFactory, +} from '../../factories/useCustomQueryFactory'; +import { FetchPolicy } from '../../types'; + +export default useCustomQueryFactory({ + query: async (context: Context, { + query, + variables, + fetchPolicy, + }: { + query: string, + variables: any, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => { + Logger.debug('[Magento] Custom API Query', { variables }); + + const result = await context.$magento.api.customQuery({ + query, + queryVariables: variables, + fetchPolicy, + }); + + Logger.debug('[Custom Query -> Result]:', result); + + return result; + }, +}); diff --git a/packages/composables/src/composables/useExternalCheckout/index.ts b/packages/composables/src/composables/useExternalCheckout/index.ts index 79c1784be..32fdd3c3b 100644 --- a/packages/composables/src/composables/useExternalCheckout/index.ts +++ b/packages/composables/src/composables/useExternalCheckout/index.ts @@ -1,4 +1,4 @@ -import { Context } from '@vue-storefront/core'; +import { Context, Logger } from '@vue-storefront/core'; import { useExternalCheckoutFactory, UseExternalCheckoutFactoryParams } from '../../factories/useExternalCheckoutFactory'; import useCart from '../useCart'; // import useConfig from '../useConfig'; @@ -10,10 +10,15 @@ const factoryParams: UseExternalCheckoutFactoryParams = { }; }, initializeCheckout: async (context: Context, baseUrl: string) => { + Logger.debug('[Magento]: Initialize external checkout', { baseUrl }); + const { externalCheckout, state } = context.$magento.config; + const userToken = state.getCustomerToken(); const cartToken = state.getCartId(); + Logger.debug({ userToken, cartToken }); + if (externalCheckout.enable) { if (userToken && cartToken) { // @TODO: Implements Multiple Store diff --git a/packages/composables/src/composables/useFacet/index.ts b/packages/composables/src/composables/useFacet/index.ts index a71d0f3d5..97f9ccd53 100644 --- a/packages/composables/src/composables/useFacet/index.ts +++ b/packages/composables/src/composables/useFacet/index.ts @@ -1,6 +1,6 @@ import { Context, - FacetSearchResult, + FacetSearchResult, Logger, ProductsSearchParams, useFacetFactory, } from '@vue-storefront/core'; @@ -59,6 +59,8 @@ const constructSortObject = (sortData: string) => { const factoryParams = { // eslint-disable-next-line @typescript-eslint/no-unused-vars search: async (context: Context, params: FacetSearchResult) => { + Logger.debug('[Magento] Load product facets', { params }); + const itemsPerPage = (params.input.itemsPerPage) ? params.input.itemsPerPage : 20; const inputFilters = (params.input.filters) ? params.input.filters : {}; const categoryId = (params.input.categoryId) ? { @@ -68,6 +70,7 @@ const factoryParams = { : { eq: params.input.categoryId }), }, } : {}; + const productParams: ProductsSearchParams = { filter: { ...categoryId, @@ -90,19 +93,19 @@ const factoryParams = { currentPage: productParams.page, }; - const productResponse = await context.$magento.api.products(productSearchParams); + const { data } = await context.$magento.api.products(productSearchParams); - const data = { - items: productResponse?.data?.products?.items || [], - total: productResponse?.data?.products?.total_count, - availableFilters: productResponse?.data?.products?.aggregations, + Logger.debug('[Result]:', { data }); + + return { + items: data?.products?.items || [], + total: data?.products?.total_count, + availableFilters: data?.products?.aggregations, category: { id: params.input.categoryId }, availableSortingOptions, perPageOptions: [10, 20, 50], itemsPerPage, }; - - return data; }, }; diff --git a/packages/composables/src/composables/useForgotPassword/index.ts b/packages/composables/src/composables/useForgotPassword/index.ts index f53b9926b..73fbe0edf 100644 --- a/packages/composables/src/composables/useForgotPassword/index.ts +++ b/packages/composables/src/composables/useForgotPassword/index.ts @@ -1,21 +1,39 @@ import { - Context, + Context, Logger, useForgotPasswordFactory, - UseForgotPasswordFactoryParams, } from '@vue-storefront/core'; +import { UseForgotPasswordFactoryParams } from '../../factories/useForgotPasswordFactory'; const factoryParams: UseForgotPasswordFactoryParams = { // eslint-disable-next-line @typescript-eslint/no-unused-vars resetPassword: async (context: Context, { email, customQuery }) => { - const { data } = await context.$magento.api.requestPasswordResetEmail({ email }); + Logger.debug('[Magento]: Reset user password', { email, customQuery }); + + const { data } = await context.$magento.api.requestPasswordResetEmail({ email }, customQuery); + + Logger.debug('[Result]:', { data }); return data; }, // eslint-disable-next-line @typescript-eslint/no-unused-vars - setNewPassword: async (context: Context, { tokenValue, newPassword, customQuery }) => { - console.log('Mocked: setNewPassword'); - return {}; + setNewPassword: async (context: Context, { + tokenValue, + newPassword, + email, + customQuery, + }) => { + Logger.debug('[Magento]: Define new user password', { tokenValue, email, customQuery }); + + const { data } = await context.$magento.api.resetPassword({ + email, + newPassword, + resetPasswordToken: tokenValue, + }, customQuery); + + Logger.debug('[Result]:', { data }); + + return data; }, }; diff --git a/packages/composables/src/composables/useGetShippingMethods/index.ts b/packages/composables/src/composables/useGetShippingMethods/index.ts index 6cab237b7..289c70d13 100644 --- a/packages/composables/src/composables/useGetShippingMethods/index.ts +++ b/packages/composables/src/composables/useGetShippingMethods/index.ts @@ -1,5 +1,5 @@ import { - Context, + Context, Logger, } from '@vue-storefront/core'; import { ShippingMethod } from '@vue-storefront/magento-api'; import { UseGetShippingMethods } from '../../types/composables'; @@ -7,16 +7,25 @@ import { UseGetShippingMethodsFactory, useGetShippingMethodsFactory } from '../. const factoryParams: UseGetShippingMethodsFactory = { load: async (context: Context, params): Promise => { + Logger.debug('[Magento]: Load shipping methods', { params }); const isGuest = params.cartId; if (isGuest) { const { data } = await context.$magento.api.getAvailableShippingMethods({ cartId: params.cartId }); + + Logger.debug('[Result]:', { data }); + const hasAddresses = data.cart.shipping_addresses.length > 0; + return hasAddresses ? data.cart.shipping_addresses[0].available_shipping_methods : []; } const { data } = await context.$magento.api.getAvailableCustomerShippingMethods(); + + Logger.debug('[Result]:', { data }); + const hasAddresses = data.customerCart.shipping_addresses.length > 0; + return hasAddresses ? data.customerCart.shipping_addresses[0].available_shipping_methods : []; }, }; diff --git a/packages/composables/src/composables/useGuestUser/index.ts b/packages/composables/src/composables/useGuestUser/index.ts index 9afaf5b87..67a46d856 100644 --- a/packages/composables/src/composables/useGuestUser/index.ts +++ b/packages/composables/src/composables/useGuestUser/index.ts @@ -1,4 +1,5 @@ import { SetGuestEmailOnCartInput } from '@vue-storefront/magento-api'; +import { Logger } from '@vue-storefront/core'; import { useGuestUserFactory, UseGuestUserFactoryParams } from '../../factories/useGuestUserFactory'; import useCart from '../useCart'; @@ -9,6 +10,8 @@ const factoryParams: UseGuestUserFactoryParams = { }; }, attachToCart: async (context, params) => { + Logger.debug('[Magento]: Attach guest cart to user'); + const emailOnCartInput: SetGuestEmailOnCartInput = { email: params.email, cart_id: context.cart.cart.value.id, diff --git a/packages/composables/src/composables/useMakeOrder/index.ts b/packages/composables/src/composables/useMakeOrder/index.ts index 746463abc..1be5f93b1 100644 --- a/packages/composables/src/composables/useMakeOrder/index.ts +++ b/packages/composables/src/composables/useMakeOrder/index.ts @@ -13,10 +13,12 @@ const factoryParams: UseMakeOrderFactoryParams = { // eslint-disable-next-line @typescript-eslint/no-unused-vars make: async (context: Context, { customQuery }): Promise => { - Logger.debug('[Magento] Make Order'); + Logger.debug('[Magento] Make Order', { customQuery }); const { id } = context.cart.cart.value; const { data } = await context.$magento.api.placeOrder({ cart_id: id }, customQuery); + Logger.debug('[Result]:', { data }); + return data.placeOrder.order; }, }; diff --git a/packages/composables/src/composables/useNewsletter/index.ts b/packages/composables/src/composables/useNewsletter/index.ts index 70189b270..b210397b7 100644 --- a/packages/composables/src/composables/useNewsletter/index.ts +++ b/packages/composables/src/composables/useNewsletter/index.ts @@ -1,6 +1,6 @@ /* istanbul ignore file */ import { - Context, + Context, Logger, } from '@vue-storefront/core'; import useUser from '../useUser'; import { useNewsletterFactory, UseNewsletterFactoryParams } from '../../factories/useNewsletterFactory'; @@ -12,10 +12,14 @@ const factoryParams: UseNewsletterFactoryParams = { }; }, updateSubscription: async (context: Context, { email }) => { + Logger.debug('[Magento]: Update user newsletter subscription', { email }); + const { data } = await context.$magento.api.subscribeEmailToNewsletter({ email, }); + Logger.debug('[Result]:', { data }); + return data.subscribeEmailToNewsletter.status; }, }; diff --git a/packages/composables/src/composables/usePaymentProvider/index.ts b/packages/composables/src/composables/usePaymentProvider/index.ts index 090e05688..339c92343 100644 --- a/packages/composables/src/composables/usePaymentProvider/index.ts +++ b/packages/composables/src/composables/usePaymentProvider/index.ts @@ -15,20 +15,22 @@ const factoryParams: UsePaymentProviderParams = { }; }, load: async (context: Context, { customQuery }) => { - Logger.debug('[Magento] loadPaymentProvider'); + Logger.debug('[Magento] loadPaymentProvider', { customQuery }); const cartId = context.cart.cart.value.id; const { data } = await context .$magento .api .getAvailablePaymentMethods({ cartId }, customQuery); + Logger.debug('[Result]:', { data }); + return data .cart .available_payment_methods; }, save: async (context: Context, { paymentMethod }) => { - Logger.debug('[Magento] savePaymentProvider'); + Logger.debug('[Magento] savePaymentProvider', { paymentMethod }); const paymentMethodParams: SetPaymentMethodOnCartInputs = { cart_id: context.cart.cart.value.id, @@ -42,6 +44,8 @@ const factoryParams: UsePaymentProviderParams = { .api .setPaymentMethodOnCart(paymentMethodParams); + Logger.debug('[Result]:', { data }); + return data .setPaymentMethodOnCart .cart diff --git a/packages/composables/src/composables/useProduct/index.ts b/packages/composables/src/composables/useProduct/index.ts index 935f3cb96..dc21bed24 100644 --- a/packages/composables/src/composables/useProduct/index.ts +++ b/packages/composables/src/composables/useProduct/index.ts @@ -1,6 +1,6 @@ import { Context, - CustomQuery, + CustomQuery, Logger, ProductsSearchParams, UseProduct, useProductFactory, @@ -9,8 +9,15 @@ import { import { ProductsListQuery, GetProductSearchParams, ProductsQueryType } from '@vue-storefront/magento-api'; import { Scalars } from '@vue-storefront/magento-api/lib/types/GraphQL'; -const factoryParams: UseProductFactoryParams = { - productsSearch: async (context: Context, params: GetProductSearchParams & { queryType: ProductsQueryType; customQuery?: CustomQuery; configurations?: Scalars['ID'] }) => { +const factoryParams: UseProductFactoryParams = { + productsSearch: async (context: Context, params: GetProductSearchParams & { + queryType: ProductsQueryType; + customQuery?: CustomQuery; + configurations?: Scalars['ID'] + }) => { + Logger.debug('[Magento]: Load product based on ', { params }); + const { queryType, customQuery, @@ -19,91 +26,13 @@ const factoryParams: UseProductFactoryParams UseProduct = useProductFactory(factoryParams); +const useProduct: +(cacheId?: string) => UseProduct = useProductFactory(factoryParams); export default useProduct; diff --git a/packages/composables/src/composables/useRelatedProducts/index.ts b/packages/composables/src/composables/useRelatedProducts/index.ts new file mode 100644 index 000000000..17ada698b --- /dev/null +++ b/packages/composables/src/composables/useRelatedProducts/index.ts @@ -0,0 +1,44 @@ +import { + Context, + CustomQuery, Logger, + ProductsSearchParams, +} from '@vue-storefront/core'; +import { + GetProductSearchParams, + RelatedProductQuery, +} from '@vue-storefront/magento-api'; +import { UseRelatedProducts } from '../../types/composables'; +import { + useRelatedProductsFactory, + UseRelatedProductsFactoryParams, +} from '../../factories/useRelatedProductsFactory'; + +const factoryParams: UseRelatedProductsFactoryParams = { + productsSearch: async (context: Context, + params: GetProductSearchParams & { + customQuery?: CustomQuery; + }) => { + Logger.debug('[Magento] Load related products based on ', { params }); + + const { + customQuery, + ...searchParams + } = params; + + const { data } = await context + .$magento + .api + .relatedProduct(searchParams as GetProductSearchParams, (customQuery || {})); + + Logger.debug('[Result]:', { data }); + + return data.products?.items[0]?.related_products; + }, +}; + +const useRelatedProducts: +(cacheId?: string) => UseRelatedProducts = useRelatedProductsFactory(factoryParams); + +export default useRelatedProducts; diff --git a/packages/composables/src/composables/useReview/index.ts b/packages/composables/src/composables/useReview/index.ts index 26e502bda..b9cfee0e9 100644 --- a/packages/composables/src/composables/useReview/index.ts +++ b/packages/composables/src/composables/useReview/index.ts @@ -19,38 +19,42 @@ CreateProductReviewInput, ProductReviewRatingMetadata> = { // eslint-disable-next-line @typescript-eslint/no-unused-vars searchReviews: async (context: Context, params?: ComposableFunctionArgs) => { - Logger.debug('[Magento] searchReviews'); - Logger.debug('[Magento] search review params input:'); - Logger.debug(JSON.stringify(params, null, 2)); + Logger.debug('[Magento] search review params input:', JSON.stringify(params, null, 2)); const { data } = await context.$magento.api.productReview(params as GetProductSearchParams); + Logger.debug('[Result]:', { data }); + return data.products.items; }, addReview: async (context: Context, params: CreateProductReviewInput) => { - Logger.debug('[Magento] addReview'); - Logger.debug('[Magento] review params input:'); - Logger.debug(JSON.stringify(params, null, 2)); + Logger.debug('[Magento] add review params input:', JSON.stringify(params, null, 2)); const { data } = await context.$magento.api.createProductReview(params); + Logger.debug('[Result]:', { data }); + return data.createProductReview.review; }, loadReviewMetadata: async (context: Context) => { - Logger.debug('[Magento] loadReviewMetadata'); + Logger.debug('[Magento] load review metadata'); const { data } = await context.$magento.api.productReviewRatingsMetadata(); + Logger.debug('[Result]:', { data }); + return data.productReviewRatingsMetadata.items; }, loadCustomerReviews: async ( context: Context, params?: ComposableFunctionArgs, ) => { - Logger.debug('[Magento] loadCustomerReviews'); + Logger.debug('[Magento] load customer review based on:', { params }); const { data } = await context.$magento.api.customerProductReview(params); + Logger.debug('[Result]:', { data }); + return data.customer; }, }; diff --git a/packages/composables/src/composables/useShipping/index.ts b/packages/composables/src/composables/useShipping/index.ts index 0bfc10af2..06c7f7f7e 100644 --- a/packages/composables/src/composables/useShipping/index.ts +++ b/packages/composables/src/composables/useShipping/index.ts @@ -19,7 +19,7 @@ const factoryParams: UseShippingParams = { }, // eslint-disable-next-line @typescript-eslint/no-unused-vars load: async (context: Context, { customQuery }) => { - Logger.debug('[Magento] loadShipping'); + Logger.debug('[Magento] loadShipping', { customQuery }); if (!context.cart.cart?.value?.shipping_addresses) { await context.cart.load({ customQuery }); @@ -30,10 +30,10 @@ const factoryParams: UseShippingParams = { // eslint-disable-next-line @typescript-eslint/no-unused-vars save: async (context: Context, saveParams) => { - Logger.debug('[Magento] setShippingAddress'); - Logger.debug(context); + Logger.debug('[Magento] save user shipping address', { saveParams }); const { id } = context.cart.cart.value; + const { apartment, ...address @@ -56,6 +56,8 @@ const factoryParams: UseShippingParams = { .api .setShippingAddressesOnCart(shippingAddressInput); + Logger.debug('[Result]:', { data }); + context.useGetShippingMethods.setState(data .setShippingAddressesOnCart .cart diff --git a/packages/composables/src/composables/useShippingProvider/index.ts b/packages/composables/src/composables/useShippingProvider/index.ts index de19bb972..fd79c42f4 100644 --- a/packages/composables/src/composables/useShippingProvider/index.ts +++ b/packages/composables/src/composables/useShippingProvider/index.ts @@ -16,7 +16,7 @@ const factoryParams: UseShippingProviderParams = { }; }, load: async (context: Context, { customQuery }) => { - Logger.debug('[Magento] loadShippingProvider'); + Logger.debug('[Magento] loadShippingProvider', { customQuery }); if (!context.cart.cart?.value?.shipping_addresses[0]?.selected_shipping_method) { await context.cart.load({ customQuery }); @@ -29,7 +29,7 @@ const factoryParams: UseShippingProviderParams = { }, save: async (context: Context, { shippingMethod }) => { - Logger.debug('[Magento] saveShippingProvider'); + Logger.debug('[Magento] saveShippingProvider', { shippingMethod }); const shippingMethodParams: SetShippingMethodsOnCartInput = { cart_id: context.cart.cart.value.id, @@ -40,9 +40,14 @@ const factoryParams: UseShippingProviderParams = { const { data } = await context.$magento.api.setShippingMethodsOnCart(shippingMethodParams); - return data - .setShippingMethodsOnCart - .cart + Logger.debug('[Result]:', { data }); + + const { cart } = data + .setShippingMethodsOnCart; + + context.cart.setCart(cart); + + return cart .shipping_addresses[0] .selected_shipping_method; }, diff --git a/packages/composables/src/composables/useUpsellProducts/index.ts b/packages/composables/src/composables/useUpsellProducts/index.ts new file mode 100644 index 000000000..21757748a --- /dev/null +++ b/packages/composables/src/composables/useUpsellProducts/index.ts @@ -0,0 +1,44 @@ +import { + Context, + CustomQuery, Logger, + ProductsSearchParams, +} from '@vue-storefront/core'; +import { + GetProductSearchParams, + UpsellProductsQuery, +} from '@vue-storefront/magento-api'; +import { + useUpsellProductsFactory, + UseUpsellProductsFactoryParams, +} from '../../factories/useUpsellProductsFactory'; +import { UseUpsellProducts } from '../../types/composables'; + +const factoryParams: UseUpsellProductsFactoryParams = { + productsSearch: async (context: Context, + params: GetProductSearchParams & { + customQuery?: CustomQuery; + }) => { + Logger.debug('[Magento] Find upsell products based on ', { params }); + + const { + customQuery, + ...searchParams + } = params; + + const { data } = await context + .$magento + .api + .upsellProduct(searchParams as GetProductSearchParams, (customQuery || {})); + + Logger.debug('[Result]:', { data }); + + return data.products?.items[0]?.upsell_products; + }, +}; + +const useUpsellProducts: +(cacheId?: string) => UseUpsellProducts = useUpsellProductsFactory(factoryParams); + +export default useUpsellProducts; diff --git a/packages/composables/src/composables/useUrlResolver/index.ts b/packages/composables/src/composables/useUrlResolver/index.ts index 834d8c1dd..5bfa6b912 100644 --- a/packages/composables/src/composables/useUrlResolver/index.ts +++ b/packages/composables/src/composables/useUrlResolver/index.ts @@ -1,14 +1,17 @@ -import { Context } from '@vue-storefront/core'; +import { Context, Logger } from '@vue-storefront/core'; import { Route } from '@vue-storefront/magento-api'; import { useUrlResolverFactory, UseUrlResolverFactoryParams } from '../../factories/useUrlResolverFactory'; import { UseUrlResolver } from '../../types/composables'; const factoryParams: UseUrlResolverFactoryParams = { search: async (context: Context, url: string) => { + Logger.debug('[Magento] Find information based on URL', { url }); const clearUrl = url.replace(/\/[cp|]\//gi, ''); const { data } = await context.$magento.api.urlResolver(clearUrl); + Logger.debug('[Result]:', { data }); + return data.urlResolver; }, }; diff --git a/packages/composables/src/composables/useUser/index.ts b/packages/composables/src/composables/useUser/index.ts index ca6bc772d..7fd4c4274 100644 --- a/packages/composables/src/composables/useUser/index.ts +++ b/packages/composables/src/composables/useUser/index.ts @@ -1,62 +1,20 @@ /* istanbul ignore file */ import { - Context, + Context, Logger, useUserFactory, UseUserFactoryParams, } from '@vue-storefront/core'; -import { CustomerUpdateParameters } from '@vue-storefront/magento-api'; import useCart from '../useCart'; -import { User } from '../../types'; +import { generateUserData } from '../../helpers/userDataGenerator'; -const generateUserData = (userData): CustomerUpdateParameters => { - const baseData = { - email: userData.email, - firstname: userData.firstName || userData.firstname, - lastname: userData.lastName || userData.lastname, - } as CustomerUpdateParameters; - - if (Object.prototype.hasOwnProperty.call(userData, 'is_subscribed')) { - baseData.is_subscribed = userData.is_subscribed; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'dateOfBirth') || Object.prototype.hasOwnProperty.call(userData, 'date_of_birth')) { - baseData.date_of_birth = userData.dateOfBirth || userData.date_of_birth; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'allow_remote_shopping_assistance')) { - baseData.allow_remote_shopping_assistance = userData.allow_remote_shopping_assistance; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'gender')) { - baseData.gender = userData.gender; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'taxvat')) { - baseData.taxvat = userData.taxvat; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'prefix')) { - baseData.prefix = userData.prefix; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'suffix')) { - baseData.suffix = userData.suffix; - } - - if (Object.prototype.hasOwnProperty.call(userData, 'password')) { - baseData.password = userData.password; - } - - return baseData; -}; - -const factoryParams: UseUserFactoryParams = { +const factoryParams: UseUserFactoryParams = { provide() { return { cart: useCart(), }; }, load: async (context: Context) => { + Logger.debug('[Magento] Load user information'); const apiState = context.$magento.config.state; if (!apiState.getCustomerToken()) { @@ -64,6 +22,9 @@ const factoryParams: UseUserFactoryParams = { } try { const { data } = await context.$magento.api.customer(); + + Logger.debug('[Result]:', { data }); + return data.customer; } catch { // eslint-disable-next-line no-void @@ -82,12 +43,14 @@ const factoryParams: UseUserFactoryParams = { apiState.setCartId(null); }, updateUser: async (context: Context, params) => { + Logger.debug('[Magento] Update user information', { params }); + const { email: oldEmail } = params.currentUser; const { email, password, ...updateData } = params.updatedUserData; const userData = generateUserData(updateData); - if (email !== oldEmail) { + if (email && email !== oldEmail) { await context.$magento.api.updateCustomerEmail({ email, password, @@ -96,6 +59,8 @@ const factoryParams: UseUserFactoryParams = { const { data } = await context.$magento.api.updateCustomer(userData); + Logger.debug('[Result]:', { data }); + return data.updateCustomerV2.customer; }, register: async (context: Context, registerParams) => { @@ -103,7 +68,11 @@ const factoryParams: UseUserFactoryParams = { const { data, errors } = await context.$magento.api.createCustomer({ email, password, ...baseData }); + Logger.debug('[Result]:', { data }); + if (errors) { + Logger.error(errors); + throw new Error(errors.map((e) => e.message).join(',')); } if (!data.createCustomerV2 || !data.createCustomerV2.customer) { @@ -113,10 +82,16 @@ const factoryParams: UseUserFactoryParams = { return factoryParams.logIn(context, { username: email, password }); }, logIn: async (context: Context, { username, password }) => { + Logger.debug('[Magento] Authenticate user', { username }); const apiState = context.$magento.config.state; const { data, errors } = await context.$magento.api.generateCustomerToken(username, password); + + Logger.debug('[Result]:', { data }); + if (errors) { + Logger.error(errors); + throw new Error(errors.map((e) => e.message).join(',')); } if (!data.generateCustomerToken || !data.generateCustomerToken.token) { @@ -141,9 +116,10 @@ const factoryParams: UseUserFactoryParams = { return factoryParams.load(context); }, - changePassword: async function changePassword(context: Context, { currentPassword, newPassword }) { - return context.$magento.api.changeCustomerPassword(currentPassword, newPassword); - }, + changePassword: async (context: Context, { + currentPassword, + newPassword, + }) => context.$magento.api.changeCustomerPassword(currentPassword, newPassword), }; -export default useUserFactory(factoryParams); +export default useUserFactory(factoryParams); diff --git a/packages/composables/src/composables/useUserBilling/index.ts b/packages/composables/src/composables/useUserBilling/index.ts index 66e215436..0e39eddea 100644 --- a/packages/composables/src/composables/useUserBilling/index.ts +++ b/packages/composables/src/composables/useUserBilling/index.ts @@ -16,32 +16,38 @@ const factoryParams: UseUserBillingFactoryParams = { }; }, addAddress: async (context: Context, params?) => { - Logger.debug('[Magento]: addAddress', params.address); + Logger.debug('[Magento]: add billing address', { params }); const { data } = await context.$magento.api.createCustomerAddress(transformUserCreateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.createCustomerAddress; }, deleteAddress: async (context: Context, params?) => { - Logger.debug('[Magento] deleteAddress', params); + Logger.debug('[Magento] delete billing address', { params }); const { data } = await context.$magento.api.deleteCustomerAddress(params.address.id); + Logger.debug('[Result]:', { data }); + return data.deleteCustomerAddress; }, updateAddress: async (context: Context, params?) => { - Logger.debug('[Magento] updateAddress', params); + Logger.debug('[Magento] update billing address', { params }); const { data } = await context.$magento.api.updateCustomerAddress(transformUserUpdateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.updateCustomerAddress; }, // eslint-disable-next-line @typescript-eslint/no-unused-vars load: async (context: Context, _params?) => { - Logger.debug('[Magento] load address'); + Logger.debug('[Magento] load user address'); if (!context.user.user?.value?.id) { await context.user.load(); @@ -55,6 +61,8 @@ const factoryParams: UseUserBillingFactoryParams = { const { data } = await context.$magento.api.updateCustomerAddress(transformUserUpdateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.updateCustomerAddress; }, diff --git a/packages/composables/src/composables/useUserOrder/index.ts b/packages/composables/src/composables/useUserOrder/index.ts index 76a3e5a90..1b933c88d 100644 --- a/packages/composables/src/composables/useUserOrder/index.ts +++ b/packages/composables/src/composables/useUserOrder/index.ts @@ -16,7 +16,7 @@ const factoryParams: UseUserOrderFactoryParams => { - Logger.debug('[Magento] searchOrders'); + Logger.debug('[Magento] search user orders', { param }); if (!context.user.user?.value?.id) { await context.user.load(); @@ -24,6 +24,8 @@ const factoryParams: UseUserOrderFactoryParams = { }, addAddress: async (context: Context, params?) => { - Logger.debug('[Magento]: addAddress', params.address); + Logger.debug('[Magento]: add shipping address', { params }); const { data } = await context.$magento.api.createCustomerAddress(transformUserCreateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.createCustomerAddress; }, deleteAddress: async (context: Context, params?) => { - Logger.debug('[Magento] deleteAddress', params); + Logger.debug('[Magento] delete shipping address', { params }); const { data } = await context.$magento.api.deleteCustomerAddress(params.address.id); return data.deleteCustomerAddress; }, updateAddress: async (context: Context, params?) => { - Logger.debug('[Magento] updateAddress', params); + Logger.debug('[Magento] update shipping address', { params }); const { data } = await context.$magento.api.updateCustomerAddress(transformUserUpdateAddressInput(params)); @@ -39,7 +41,7 @@ const factoryParams: UseUserShippingFactoryParams = { // eslint-disable-next-line @typescript-eslint/no-unused-vars load: async (context: Context, _params?) => { - Logger.debug('[Magento] load address'); + Logger.debug('[Magento] load user address'); if (!context.user.user?.value?.id) { await context.user.load(); @@ -49,10 +51,12 @@ const factoryParams: UseUserShippingFactoryParams = { }, setDefaultAddress: async (context: Context, params) => { - Logger.debug('[Magento] setDefaultAddress'); + Logger.debug('[Magento] set default shipping address'); const { data } = await context.$magento.api.updateCustomerAddress(transformUserUpdateAddressInput(params)); + Logger.debug('[Result]:', { data }); + return data.updateCustomerAddress; }, }; diff --git a/packages/composables/src/composables/useWishlist/index.ts b/packages/composables/src/composables/useWishlist/index.ts index 530d3225c..80a4a27a6 100644 --- a/packages/composables/src/composables/useWishlist/index.ts +++ b/packages/composables/src/composables/useWishlist/index.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/require-await */ /* istanbul ignore file */ import { - Context, + Context, Logger, useWishlistFactory, UseWishlistFactoryParams, } from '@vue-storefront/core'; @@ -10,27 +10,10 @@ import { WishlistQueryVariables, } from '@vue-storefront/magento-api'; import useUser from '../useUser'; - -const compareWishlistProduct = ( - productA, - productB, -): boolean => { - const equalSku = productA?.sku === productB?.sku; - const equalUid = productA?.uid === productB?.uid; - - return equalSku && equalUid; -}; - -const findItemOnWishlist = (currentWishlist, product) => { - const wishlist = Array.isArray(currentWishlist) ? currentWishlist[0] : currentWishlist; - - return wishlist - ?.items_v2 - ?.items?.find((item) => compareWishlistProduct(item.product, product)); -}; +import { findItemOnWishlist } from '../../helpers/findItemOnWishlist'; // @ts-ignore -const factoryParams: UseWishlistFactoryParams = { +const factoryParams: UseWishlistFactoryParams = { provide() { return { user: useUser(), @@ -42,10 +25,12 @@ const factoryParams: UseWishlistFactoryParams = { if (apiState.getCustomerToken()) { const wishlistParams: WishlistQueryVariables = { - ...(params.customQuery || {}), + ...params.customQuery, }; const { data } = await context.$magento.api.wishlist(wishlistParams); + Logger.debug('[Result]:', { data }); + return data.customer.wishlists; } @@ -84,6 +69,8 @@ const factoryParams: UseWishlistFactoryParams = { }], }); + Logger.debug('[Result]:', { data }); + return data.addProductsToWishlist.wishlist; case 'ConfigurableProduct': const { data: configurableProductData } = await context.$magento.api.addProductToWishList({ @@ -95,6 +82,8 @@ const factoryParams: UseWishlistFactoryParams = { }], }); + Logger.debug('[Result]:', { data: configurableProductData }); + return configurableProductData.addProductsToWishlist.wishlist; default: // todo implement other options @@ -113,6 +102,8 @@ const factoryParams: UseWishlistFactoryParams = { items: [itemOnWishlist.id], }); + Logger.debug('[Result]:', { data }); + return data.removeProductsFromWishlist.wishlist; }, clear: async ({ currentWishlist }) => ({}), @@ -125,4 +116,4 @@ const factoryParams: UseWishlistFactoryParams = { }, }; -export default useWishlistFactory(factoryParams); +export default useWishlistFactory(factoryParams); diff --git a/packages/composables/src/factories/useCartFactory.ts b/packages/composables/src/factories/useCartFactory.ts new file mode 100644 index 000000000..7a7f467b4 --- /dev/null +++ b/packages/composables/src/factories/useCartFactory.ts @@ -0,0 +1,251 @@ +import { + CustomQuery, UseCart, Context, FactoryParams, UseCartErrors, PlatformApi, sharedRef, Logger, configureFactoryParams, +} from '@vue-storefront/core'; +import { computed, Ref } from 'vue-demi'; + +export interface UseCartFactoryParams extends FactoryParams { + load: (context: Context, params: { customQuery?: any; realCart?: boolean; }) => Promise; + addItem: ( + context: Context, + params: { + currentCart: CART; + product: PRODUCT; + quantity: any; + customQuery?: CustomQuery; + } + ) => Promise; + removeItem: (context: Context, params: { currentCart: CART; product: CART_ITEM; customQuery?: CustomQuery }) => Promise; + updateItemQty: ( + context: Context, + params: { currentCart: CART; product: CART_ITEM; quantity: number; customQuery?: CustomQuery } + ) => Promise; + clear: (context: Context, params: { currentCart: CART }) => Promise; + applyCoupon: (context: Context, params: { currentCart: CART; couponCode: string; customQuery?: CustomQuery }) => Promise<{ updatedCart: CART }>; + removeCoupon: ( + context: Context, + params: { currentCart: CART; couponCode: string; customQuery?: CustomQuery } + ) => Promise<{ updatedCart: CART }>; + isInCart: (context: Context, params: { currentCart: CART; product: PRODUCT }) => boolean; +} + +export const useCartFactory = ( + factoryParams: UseCartFactoryParams, +) => function useCart(): UseCart { + const loading: Ref = sharedRef(false, 'useCart-loading'); + const cart: Ref = sharedRef(null, 'useCart-cart'); + const error: Ref = sharedRef({ + addItem: null, + removeItem: null, + updateItemQty: null, + load: null, + clear: null, + applyCoupon: null, + removeCoupon: null, + }, 'useCart-error'); + + // eslint-disable-next-line no-underscore-dangle,@typescript-eslint/naming-convention + const _factoryParams = configureFactoryParams( + factoryParams, + { + mainRef: cart, + alias: 'currentCart', + loading, + error, + }, + ); + + const setCart = (newCart: CART) => { + cart.value = newCart; + Logger.debug('useCartFactory.setCart', newCart); + }; + + const addItem = async ({ + product, + quantity, + customQuery, + }) => { + Logger.debug('useCart.addItem', { + product, + quantity, + }); + + try { + loading.value = true; + const updatedCart = await _factoryParams.addItem({ + currentCart: cart.value, + product, + quantity, + customQuery, + }); + error.value.addItem = null; + cart.value = updatedCart; + } catch (err) { + error.value.addItem = err; + Logger.error('useCart/addItem', err); + } finally { + loading.value = false; + } + }; + + const removeItem = async ({ + product, + customQuery, + }) => { + Logger.debug('useCart.removeItem', { product }); + + try { + loading.value = true; + const updatedCart = await _factoryParams.removeItem({ + currentCart: cart.value, + product, + customQuery, + }); + error.value.removeItem = null; + cart.value = updatedCart; + } catch (err) { + error.value.removeItem = err; + Logger.error('useCart/removeItem', err); + } finally { + loading.value = false; + } + }; + + const updateItemQty = async ({ + product, + quantity, + customQuery, + }) => { + Logger.debug('useCart.updateItemQty', { + product, + quantity, + }); + + if (quantity && quantity > 0) { + try { + loading.value = true; + const updatedCart = await _factoryParams.updateItemQty({ + currentCart: cart.value, + product, + quantity, + customQuery, + }); + error.value.updateItemQty = null; + cart.value = updatedCart; + } catch (err) { + error.value.updateItemQty = err; + Logger.error('useCart/updateItemQty', err); + } finally { + loading.value = false; + } + } + }; + + const load = async ({ customQuery } = { customQuery: undefined }) => { + Logger.debug('useCart.load'); + + if (cart.value) { + /** + * Triggering change for hydration purpose, + * temporary issue related with cpapi plugin + */ + loading.value = false; + error.value.load = null; + cart.value = { ...cart.value }; + return; + } + try { + loading.value = true; + cart.value = await _factoryParams.load({ customQuery }); + error.value.load = null; + } catch (err) { + error.value.load = err; + Logger.error('useCart/load', err); + } finally { + loading.value = false; + } + }; + + const clear = async () => { + Logger.debug('useCart.clear'); + + try { + loading.value = true; + const updatedCart = await _factoryParams.clear({ currentCart: cart.value }); + error.value.clear = null; + cart.value = updatedCart; + } catch (err) { + error.value.clear = err; + Logger.error('useCart/clear', err); + } finally { + loading.value = false; + } + }; + + const isInCart = ({ product }) => _factoryParams.isInCart({ + currentCart: cart.value, + product, + }); + + const applyCoupon = async ({ + couponCode, + customQuery, + }) => { + Logger.debug('useCart.applyCoupon'); + + try { + loading.value = true; + const { updatedCart } = await _factoryParams.applyCoupon({ + currentCart: cart.value, + couponCode, + customQuery, + }); + error.value.applyCoupon = null; + cart.value = updatedCart; + } catch (err) { + error.value.applyCoupon = err; + Logger.error('useCart/applyCoupon', err); + } finally { + loading.value = false; + } + }; + + const removeCoupon = async ({ + couponCode, + customQuery, + }) => { + Logger.debug('useCart.removeCoupon'); + + try { + loading.value = true; + const { updatedCart } = await _factoryParams.removeCoupon({ + currentCart: cart.value, + couponCode, + customQuery, + }); + error.value.removeCoupon = null; + cart.value = updatedCart; + loading.value = false; + } catch (err) { + error.value.removeCoupon = err; + Logger.error('useCart/removeCoupon', err); + } finally { + loading.value = false; + } + }; + + return { + api: _factoryParams.api, + setCart, + cart: computed(() => cart.value), + isInCart, + addItem, + load, + removeItem, + clear, + updateItemQty, + applyCoupon, + removeCoupon, + loading: computed(() => loading.value), + error: computed(() => error.value), + }; +}; diff --git a/packages/composables/src/factories/useCustomQueryFactory.ts b/packages/composables/src/factories/useCustomQueryFactory.ts new file mode 100644 index 000000000..3601c0ec0 --- /dev/null +++ b/packages/composables/src/factories/useCustomQueryFactory.ts @@ -0,0 +1,80 @@ +import { + configureFactoryParams, + Context, + FactoryParams, + Logger, + sharedRef, +} from '@vue-storefront/core'; +import { computed } from 'vue-demi'; +import { PlatformApi } from '@vue-storefront/core/lib/src/types'; +import { FetchPolicy } from '../types'; +import { UseCustomQuery } from '../types/composables'; + +export interface UseCustomQueryFactoryFactoryParams extends FactoryParams { + query: (context: Context, { + variables, + fetchPolicy, + }: { + variables: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + }) => Promise; +} + +export const useCustomQueryFactory = ( + factoryParams: UseCustomQueryFactoryFactoryParams, +) => function useCustomQuery(ssrKey = 'useCustomQuery'): UseCustomQuery { + // @ts-ignore + const queryString = sharedRef('', `${ssrKey}-queryString`); + const queryStringComputed = computed(() => queryString.value); + // @ts-ignore + const result = sharedRef({}, `${ssrKey}-result`); + const loading = sharedRef(false, `${ssrKey}-loading`); + const error = sharedRef({ + query: null, + }, `${ssrKey}-error`); + // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle + const _factoryParams = configureFactoryParams(factoryParams); + + // eslint-disable-next-line consistent-return + const query = async ({ + variables, + fetchPolicy, + }: { + variables: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => { + Logger.debug(`useCustomQuery/${ssrKey}/query`); + loading.value = true; + + try { + const data = await _factoryParams.query({ + query: queryStringComputed.value, + variables, + fetchPolicy, + }); + + result.value = data; + + return data; + } catch (err) { + error.value.search = err; + + Logger.error(`useCustomQuery/${ssrKey}/query`, err); + } finally { + loading.value = false; + } + }; + + return { + setQueryString: (newQueryString: string) => { + queryString.value = newQueryString; + }, + queryString: queryStringComputed, + query, + result: computed(() => result.value), + loading: computed(() => loading.value), + error: computed(() => error.value), + }; +}; diff --git a/packages/composables/src/factories/useForgotPasswordFactory.ts b/packages/composables/src/factories/useForgotPasswordFactory.ts new file mode 100644 index 000000000..78bd29250 --- /dev/null +++ b/packages/composables/src/factories/useForgotPasswordFactory.ts @@ -0,0 +1,83 @@ +import { Ref, computed } from '@vue/composition-api'; +import { + configureFactoryParams, + Context, + CustomQuery, + FactoryParams, + Logger, + sharedRef, +} from '@vue-storefront/core'; +import { UseForgotPassword, UseForgotPasswordErrors } from '../types/composables'; + +interface SetNewPasswordParams { + tokenValue: string; + newPassword: string; + email: string; +} + +interface ResetPasswordParams { + email: string; +} + +export interface UseForgotPasswordFactoryParams extends FactoryParams { + resetPassword: (context: Context, params: ResetPasswordParams & { currentResult: RESULT, customQuery?: CustomQuery }) => Promise; + setNewPassword: (context: Context, params: SetNewPasswordParams & { currentResult: RESULT, customQuery?: CustomQuery }) => Promise; +} + +export function useForgotPasswordFactory( + factoryParams: UseForgotPasswordFactoryParams, +) { + return function useForgotPassword(): UseForgotPassword { + const result: Ref = sharedRef({ + resetPasswordResult: null, + setNewPasswordResult: null, + }, 'useForgotPassword-result'); + const loading = sharedRef(false, 'useProduct-loading'); + // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle + const _factoryParams = configureFactoryParams(factoryParams); + const error: Ref = sharedRef({ + request: null, + setNew: null, + }, 'useForgotPassword-error'); + + const request = async (resetPasswordParams: ResetPasswordParams) => { + Logger.debug('useForgotPassword/request', resetPasswordParams.email); + + try { + loading.value = true; + // eslint-disable-next-line no-underscore-dangle + result.value = await _factoryParams.resetPassword({ currentResult: result.value, ...resetPasswordParams }); + error.value.request = null; + } catch (err) { + error.value.request = err; + Logger.error('useForgotPassword/request', err); + } finally { + loading.value = false; + } + }; + + const setNew = async (setNewPasswordParams: SetNewPasswordParams) => { + Logger.debug('useForgotPassword/setNew', setNewPasswordParams); + + try { + loading.value = true; + // eslint-disable-next-line no-underscore-dangle + result.value = await _factoryParams.setNewPassword({ currentResult: result.value, ...setNewPasswordParams }); + error.value.setNew = null; + } catch (err) { + error.value.setNew = err; + Logger.error('useForgotPassword/setNew', err); + } finally { + loading.value = false; + } + }; + + return { + request, + setNew, + result: computed(() => result.value), + loading: computed(() => loading.value), + error: computed(() => error.value), + }; + }; +} diff --git a/packages/composables/src/factories/useMutationQueryFactory.ts b/packages/composables/src/factories/useMutationQueryFactory.ts new file mode 100644 index 000000000..d112b2801 --- /dev/null +++ b/packages/composables/src/factories/useMutationQueryFactory.ts @@ -0,0 +1,82 @@ +import { + configureFactoryParams, + Context, + FactoryParams, + Logger, + sharedRef, +} from '@vue-storefront/core'; +import { computed } from 'vue-demi'; +import { PlatformApi } from '@vue-storefront/core/lib/src/types'; +import { UseCustomMutation } from '../types/composables'; +import { FetchPolicy } from '../types'; + +export interface UseCustomMutationFactoryFactoryParams< + MUTATION_VARIABLES, + MUTATION_RETURN, + API extends PlatformApi = any> extends FactoryParams { + mutation: (context: Context, { + variables, + fetchPolicy, + }: { + variables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + }) => Promise; +} + +export const useCustomMutationFactory = ( + factoryParams: UseCustomMutationFactoryFactoryParams, +) => function useCustomMutation(ssrKey = 'useCustomMutation'): UseCustomMutation { + // @ts-ignore + const mutationString = sharedRef('', `${ssrKey}-mutationString`); + const mutationStringComputed = computed(() => mutationString.value); + // @ts-ignore + const result = sharedRef({}, `${ssrKey}-result`); + const loading = sharedRef(false, `${ssrKey}-loading`); + const error = sharedRef({ + query: null, + }, `${ssrKey}-error`); + // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle + const _factoryParams = configureFactoryParams(factoryParams); + + // eslint-disable-next-line consistent-return + const mutation = async ({ + variables, + fetchPolicy, + }: { + variables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => { + Logger.debug(`useCustomMutation/${ssrKey}/mutation`); + loading.value = true; + + try { + const data = await _factoryParams.mutation({ + mutation: mutationStringComputed.value, + variables, + fetchPolicy, + }); + + result.value = data; + + return data; + } catch (err) { + error.value.search = err; + + Logger.error(`useCustomMutation/${ssrKey}/mutation`, err); + } finally { + loading.value = false; + } + }; + + return { + setMutationString: (newMutationString: string) => { + mutationString.value = newMutationString; + }, + mutationString: mutationStringComputed, + mutation, + result: computed(() => result.value), + loading: computed(() => loading.value), + error: computed(() => error.value), + }; +}; diff --git a/packages/composables/src/factories/useRelatedProductsFactory.ts b/packages/composables/src/factories/useRelatedProductsFactory.ts new file mode 100644 index 000000000..4084c47af --- /dev/null +++ b/packages/composables/src/factories/useRelatedProductsFactory.ts @@ -0,0 +1,61 @@ +import { computed, Ref } from 'vue-demi'; +import { + configureFactoryParams, Context, + CustomQuery, + FactoryParams, + Logger, + ProductsSearchParams, + sharedRef, +} from '@vue-storefront/core'; +import { PlatformApi } from '@vue-storefront/core/lib/src/types'; +import { UseRelatedProducts, UseRelatedProductsErrors } from '../types/composables'; + +export interface UseRelatedProductsFactoryParams< + PRODUCTS, + RELATED_PRODUCTS_SEARCH_PARAMS extends ProductsSearchParams, + API extends PlatformApi = any, +> extends FactoryParams { + productsSearch: (context: Context, params: RELATED_PRODUCTS_SEARCH_PARAMS & { customQuery?: CustomQuery }) => Promise; +} + +export function useRelatedProductsFactory( + factoryParams: UseRelatedProductsFactoryParams, +) { + return function useRelatedProduct(id: string): UseRelatedProducts { + const products: Ref = sharedRef([], `useRelatedProducts-products-${id}`); + const loading = sharedRef(false, `useRelatedProducts-loading-${id}`); + const error: Ref = sharedRef({ + search: null, + }, `useRelatedProducts-error-${id}`); + + // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle + const _factoryParams = configureFactoryParams( + factoryParams, + { + mainRef: products, alias: 'relatedProducts-currentProduct', loading, error, + }, + ); + + const search = async (searchParams) => { + Logger.debug(`useRelatedProducts/${id}/search`, searchParams); + + try { + loading.value = true; + products.value = await _factoryParams.productsSearch(searchParams); + error.value.search = null; + } catch (err) { + error.value.search = err; + Logger.error(`useRelatedProducts/${id}/search`, err); + } finally { + loading.value = false; + } + }; + + return { + search, + products: computed(() => products.value), + loading: computed(() => loading.value), + error: computed(() => error.value), + }; + }; +} diff --git a/packages/composables/src/factories/useUpsellProductsFactory.ts b/packages/composables/src/factories/useUpsellProductsFactory.ts new file mode 100644 index 000000000..fe1964c84 --- /dev/null +++ b/packages/composables/src/factories/useUpsellProductsFactory.ts @@ -0,0 +1,62 @@ +import { computed, Ref } from 'vue-demi'; +import { + configureFactoryParams, + CustomQuery, + FactoryParams, + Logger, + Context, + ProductsSearchParams, + sharedRef, UseProductFactoryParams, +} from '@vue-storefront/core'; +import { PlatformApi } from '@vue-storefront/core/lib/src/types'; +import { UseUpsellProducts, UseUpsellProductsErrors } from '../types/composables'; + +export interface UseUpsellProductsFactoryParams< + PRODUCTS, + UPSELL_PRODUCTS_SEARCH_PARAMS extends ProductsSearchParams, + API extends PlatformApi = any, +> extends FactoryParams { + productsSearch: (context: Context, params: UPSELL_PRODUCTS_SEARCH_PARAMS & { customQuery?: CustomQuery }) => Promise; +} + +export function useUpsellProductsFactory( + factoryParams: UseProductFactoryParams, +) { + return function useUpsellProducts(id: string): UseUpsellProducts { + const products: Ref = sharedRef([], `useUpsellProducts-products-${id}`); + const loading = sharedRef(false, `useUpsellProducts-loading-${id}`); + const error: Ref = sharedRef({ + search: null, + }, `useUpsellProducts-error-${id}`); + + // eslint-disable-next-line @typescript-eslint/naming-convention,no-underscore-dangle + const _factoryParams = configureFactoryParams( + factoryParams, + { + mainRef: products, alias: 'useUpsellProducts-currentProducts', loading, error, + }, + ); + + const search = async (searchParams) => { + Logger.debug(`useUpsellProducts/${id}/search`, searchParams); + + try { + loading.value = true; + products.value = await _factoryParams.productsSearch(searchParams); + error.value.search = null; + } catch (err) { + error.value.search = err; + Logger.error(`useUpsellProducts/${id}/search`, err); + } finally { + loading.value = false; + } + }; + + return { + search, + products: computed(() => products.value), + loading: computed(() => loading.value), + error: computed(() => error.value), + }; + }; +} diff --git a/packages/composables/src/composables/getters/_utils.ts b/packages/composables/src/getters/_utils.ts similarity index 100% rename from packages/composables/src/composables/getters/_utils.ts rename to packages/composables/src/getters/_utils.ts diff --git a/packages/composables/src/composables/getters/addressGetter.ts b/packages/composables/src/getters/addressGetter.ts similarity index 95% rename from packages/composables/src/composables/getters/addressGetter.ts rename to packages/composables/src/getters/addressGetter.ts index f16b51b4d..a0bd18293 100644 --- a/packages/composables/src/composables/getters/addressGetter.ts +++ b/packages/composables/src/getters/addressGetter.ts @@ -1,5 +1,5 @@ import { Countries, Country } from '@vue-storefront/magento-api'; -import { AddressGetter } from '../../types'; +import { AddressGetter } from '../types'; const countriesList: AddressGetter['countriesList'] = (countries: Countries[]) => countries .filter((c) => c.id && c.full_name_english && c.full_name_locale) diff --git a/packages/composables/src/composables/getters/cartGetters.ts b/packages/composables/src/getters/cartGetters.ts similarity index 99% rename from packages/composables/src/composables/getters/cartGetters.ts rename to packages/composables/src/getters/cartGetters.ts index 10252857d..91af9f6aa 100644 --- a/packages/composables/src/composables/getters/cartGetters.ts +++ b/packages/composables/src/getters/cartGetters.ts @@ -14,7 +14,7 @@ import { SelectedShippingMethod, } from '@vue-storefront/magento-api'; import productGetters from './productGetters'; -import { AgnosticPaymentMethod } from '../../types'; +import { AgnosticPaymentMethod } from '../types'; export const getItems = (cart: Cart): CartItem[] => { if (!cart || !cart.items) { diff --git a/packages/composables/src/composables/getters/categoryGetters.ts b/packages/composables/src/getters/categoryGetters.ts similarity index 50% rename from packages/composables/src/composables/getters/categoryGetters.ts rename to packages/composables/src/getters/categoryGetters.ts index 96e241aee..0582e0285 100644 --- a/packages/composables/src/composables/getters/categoryGetters.ts +++ b/packages/composables/src/getters/categoryGetters.ts @@ -1,47 +1,13 @@ import { CategoryGetters, AgnosticCategoryTree, AgnosticBreadcrumb } from '@vue-storefront/core'; import { Category } from '@vue-storefront/magento-api'; -import { htmlDecode } from '../../helpers/htmlDecoder'; - -const buildTree = (rootCategory: Category, currentCategory: string, withProducts = false): AgnosticCategoryTree => { - const hasChildren = Array.isArray(rootCategory.children) && rootCategory.children.length > 0; - const isCurrent = rootCategory.uid === currentCategory; - const label = htmlDecode(rootCategory.name); - const slug = `/${rootCategory.url_path}${rootCategory.url_suffix || ''}`; - const childrenUid = hasChildren - ? rootCategory - .children - .reduce((acc, curr) => [...acc, curr.uid], []) - : []; - - const childProductCount = hasChildren - ? rootCategory - .children - .reduce((acc, curr) => acc + curr.product_count, 0) - : 0; - - const items = hasChildren - ? rootCategory - .children - .filter((c) => (withProducts ? c.product_count > 0 : true)) - .map((c) => buildTree(c, currentCategory)) - : []; - - return { - label, - slug, - uid: [rootCategory.uid, ...childrenUid], - items: items.filter((c) => c.count > 0), - count: childProductCount || rootCategory.product_count, - isCurrent, - }; -}; +import { buildCategoryTree } from '../helpers/buildCategoryTree'; // eslint-disable-next-line @typescript-eslint/no-unused-vars export const getTree = (category: Category): AgnosticCategoryTree | null => { if (!category) { return null; } - return buildTree(category, ''); + return buildCategoryTree(category, ''); }; export const getCategoryTree = ( @@ -50,7 +16,7 @@ export const getCategoryTree = ( withProducts = false, ): AgnosticCategoryTree | null => ( category - ? buildTree(category, currentCategory, withProducts) + ? buildCategoryTree(category, currentCategory, withProducts) : null ); diff --git a/packages/composables/src/composables/getters/checkoutGetters.ts b/packages/composables/src/getters/checkoutGetters.ts similarity index 100% rename from packages/composables/src/composables/getters/checkoutGetters.ts rename to packages/composables/src/getters/checkoutGetters.ts diff --git a/packages/composables/src/composables/getters/facetGetters.ts b/packages/composables/src/getters/facetGetters.ts similarity index 97% rename from packages/composables/src/composables/getters/facetGetters.ts rename to packages/composables/src/getters/facetGetters.ts index 6717bfc13..de6526f3c 100644 --- a/packages/composables/src/composables/getters/facetGetters.ts +++ b/packages/composables/src/getters/facetGetters.ts @@ -12,11 +12,11 @@ import { buildFacets, reduceForGroupedFacets, reduceForFacets, -} from '../useFacet/_utils'; +} from '../composables/useFacet/_utils'; import { SearchData, -} from '../../types'; +} from '../types'; // eslint-disable-next-line @typescript-eslint/no-unused-vars const getAll = (searchData: SearchData, criteria?: string[]): AgnosticFacet[] => buildFacets(searchData, reduceForFacets, criteria); diff --git a/packages/composables/src/composables/getters/forgotPasswordGetters.ts b/packages/composables/src/getters/forgotPasswordGetters.ts similarity index 72% rename from packages/composables/src/composables/getters/forgotPasswordGetters.ts rename to packages/composables/src/getters/forgotPasswordGetters.ts index 29968534f..bbf9a2081 100644 --- a/packages/composables/src/composables/getters/forgotPasswordGetters.ts +++ b/packages/composables/src/getters/forgotPasswordGetters.ts @@ -5,10 +5,7 @@ function getResetPasswordToken(result: any): string { return ''; } -// eslint-disable-next-line @typescript-eslint/no-unused-vars -function isPasswordChanged(result: any): boolean { - return true; -} +const isPasswordChanged = (result: any): boolean => result?.resetPassword; export const forgotPasswordGetters: ForgotPasswordGetters = { getResetPasswordToken, diff --git a/packages/composables/src/composables/getters/index.ts b/packages/composables/src/getters/index.ts similarity index 100% rename from packages/composables/src/composables/getters/index.ts rename to packages/composables/src/getters/index.ts diff --git a/packages/composables/src/composables/getters/orderGetters.ts b/packages/composables/src/getters/orderGetters.ts similarity index 100% rename from packages/composables/src/composables/getters/orderGetters.ts rename to packages/composables/src/getters/orderGetters.ts diff --git a/packages/composables/src/composables/getters/productGetters.ts b/packages/composables/src/getters/productGetters.ts similarity index 95% rename from packages/composables/src/composables/getters/productGetters.ts rename to packages/composables/src/getters/productGetters.ts index 2f97e5768..3a05a5376 100644 --- a/packages/composables/src/composables/getters/productGetters.ts +++ b/packages/composables/src/getters/productGetters.ts @@ -12,7 +12,7 @@ import { } from '@vue-storefront/magento-api'; import categoryGetters from './categoryGetters'; -import { htmlDecode } from '../../helpers/htmlDecoder'; +import { htmlDecode } from '../helpers/htmlDecoder'; import reviewGetters from './reviewGetters'; type ProductVariantFilters = any; @@ -102,7 +102,13 @@ export const getProductThumbnailImage = (product: Product): string => { return product.thumbnail.url; }; -export const getFiltered = (products: Product[], _filters: ProductVariantFilters | any = {}): Product[] => products; +export const getFiltered = (products: Product[], filters: ProductVariantFilters | any = {}): Product[] => { + if (!products) { + return []; + } + + return products; +}; export const getAttributes = ( products: Product, @@ -229,9 +235,9 @@ export const { getTotalReviews } = reviewGetters; export const { getAverageRating } = reviewGetters; -export const getProductRelatedProduct = (product: Product): Product[] => product?.related_products?.filter((p) => p.name && p.uid) || []; +export const getProductRelatedProduct = (product: Product): Product[] => product?.related_products || []; -export const getProductUpsellProduct = (product: Product): Product[] => product?.upsell_products?.filter((p) => p.name && p.uid) || []; +export const getProductUpsellProduct = (product: Product): Product[] => product?.upsell_products || []; export const getSwatchData = (swatchData: Product['configurable_options'][0]['values'][0]['swatch_data']): string | undefined => swatchData?.value; diff --git a/packages/composables/src/composables/getters/reviewGetters.ts b/packages/composables/src/getters/reviewGetters.ts similarity index 88% rename from packages/composables/src/composables/getters/reviewGetters.ts rename to packages/composables/src/getters/reviewGetters.ts index e3af043de..f9c75790e 100644 --- a/packages/composables/src/composables/getters/reviewGetters.ts +++ b/packages/composables/src/getters/reviewGetters.ts @@ -6,9 +6,9 @@ import { ProductReviews, ReviewMetadata, } from '@vue-storefront/magento-api'; -import { AgnosticReviewMetadata } from '../../types'; +import { AgnosticReviewMetadata } from '../types'; -export const getItems = (review: ProductReviews): ProductReview[] => review?.reviews?.items || []; +export const getItems = (review): ProductReview[] => review?.reviews?.items || []; export const getReviewId = (item: ProductReview): string => `${item.nickname}_${item.created_at}_${item.average_rating}`; @@ -23,7 +23,7 @@ export const getReviewDate = (item: ProductReview): string => item.created_at; export const getTotalReviews = (review: ProductReviews): number => review?.review_count || 0; -export const getAverageRating = (review: ProductReviews): number => (review?.reviews?.items?.reduce(( +export const getAverageRating = (review): number => (review?.reviews?.items?.reduce(( acc, curr, ) => Number.parseInt(`${acc}`, 10) + getReviewRating(curr), 0)) / (review?.review_count || 1) || 0; diff --git a/packages/composables/src/composables/getters/userAddressesGetters.ts b/packages/composables/src/getters/userAddressesGetters.ts similarity index 93% rename from packages/composables/src/composables/getters/userAddressesGetters.ts rename to packages/composables/src/getters/userAddressesGetters.ts index 096137054..361c0af2f 100644 --- a/packages/composables/src/composables/getters/userAddressesGetters.ts +++ b/packages/composables/src/getters/userAddressesGetters.ts @@ -1,5 +1,5 @@ -import { UserAddressesGetters } from '../../types/getters'; -import { transformUserGetter } from '../../helpers/userAddressManipulator'; +import { UserAddressesGetters } from '../types/getters'; +import { transformUserGetter } from '../helpers/userAddressManipulator'; const userAddressesGetters: UserAddressesGetters = { getAddresses: (addresses, criteria?: Record) => { diff --git a/packages/composables/src/composables/getters/userBillingGetters.ts b/packages/composables/src/getters/userBillingGetters.ts similarity index 100% rename from packages/composables/src/composables/getters/userBillingGetters.ts rename to packages/composables/src/getters/userBillingGetters.ts diff --git a/packages/composables/src/getters/userGetters.ts b/packages/composables/src/getters/userGetters.ts new file mode 100644 index 000000000..1961d2423 --- /dev/null +++ b/packages/composables/src/getters/userGetters.ts @@ -0,0 +1,27 @@ +/* istanbul ignore file */ +import { UserGetters as BaseUserGetters } from '@vue-storefront/core'; +import { Customer } from '@vue-storefront/magento-api'; + +export const getFirstName = (user: Customer): string => (user ? user.firstname : ''); + +export const getLastName = (user: Customer): string => (user ? user.lastname : ''); + +export const getEmailAddress = (user: Customer): string => (user ? user.email : ''); + +export const getRemoteShoppingAssistance = (user: Customer): boolean => (user ? user.allow_remote_shopping_assistance : false); + +export const getFullName = (user: Customer): string => (user ? `${user.firstname} ${user.lastname}` : ''); + +export interface UserGetters extends BaseUserGetters{ + getRemoteShoppingAssistance(user: Customer): boolean; +} + +const userGetters: UserGetters = { + getFirstName, + getLastName, + getEmailAddress, + getFullName, + getRemoteShoppingAssistance, +}; + +export default userGetters; diff --git a/packages/composables/src/composables/getters/userShippingGetters.ts b/packages/composables/src/getters/userShippingGetters.ts similarity index 100% rename from packages/composables/src/composables/getters/userShippingGetters.ts rename to packages/composables/src/getters/userShippingGetters.ts diff --git a/packages/composables/src/composables/getters/wishlistGetters.ts b/packages/composables/src/getters/wishlistGetters.ts similarity index 90% rename from packages/composables/src/composables/getters/wishlistGetters.ts rename to packages/composables/src/getters/wishlistGetters.ts index da2390cb1..b4729ede9 100644 --- a/packages/composables/src/composables/getters/wishlistGetters.ts +++ b/packages/composables/src/getters/wishlistGetters.ts @@ -5,14 +5,13 @@ import { AgnosticTotals, AgnosticPagination, } from '@vue-storefront/core'; import { - Wishlist, - WishlistDataFragment, + Wishlist, WishlistQuery, } from '@vue-storefront/magento-api'; -type WishlistProduct = WishlistDataFragment['items_v2']['items'][0]; +type WishlistProduct = WishlistQuery['customer']['wishlists'][0]['items_v2']['items'][0]; // eslint-disable-next-line @typescript-eslint/no-unused-vars -export const getItems = (wishlist: Wishlist): WishlistProduct[] => wishlist.items_v2.items; +export const getItems = (wishlist): WishlistProduct[] => wishlist.items_v2.items; export const getItemName = (product: WishlistProduct): string => product?.product?.name || ''; @@ -47,7 +46,7 @@ export const getItemAttributes = (product: WishlistProduct, filterByAttributeNam export const getItemSku = (product: WishlistProduct): string => product?.product?.sku || ''; // eslint-disable-next-line @typescript-eslint/no-unused-vars -export const getTotals = (wishlist: Wishlist): AgnosticTotals => { +export const getTotals = (wishlist): AgnosticTotals => { if (Array.isArray(wishlist)) { return wishlist[0]?.items_v2?.items.reduce((acc, curr) => ({ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands @@ -71,7 +70,7 @@ export const getTotalItems = (wishlist: Wishlist): number => (Array.isArray(wish // eslint-disable-next-line @typescript-eslint/no-unused-vars export const getFormattedPrice = (price: number): string => ''; -const getPagination = (wishlistData: WishlistDataFragment): AgnosticPagination => ({ +const getPagination = (wishlistData: Wishlist): AgnosticPagination => ({ currentPage: wishlistData?.items_v2?.page_info?.current_page || 1, totalPages: wishlistData?.items_v2?.page_info?.total_pages || 1, totalItems: wishlistData?.items_count || 0, @@ -79,7 +78,7 @@ const getPagination = (wishlistData: WishlistDataFragment): AgnosticPagination = pageOptions: [10, 50, 100], }); -const getProducts = (wishlistData: WishlistDataFragment[] | WishlistDataFragment): { +const getProducts = (wishlistData: Wishlist[] | Wishlist): { product: WishlistProduct; quantity: number; added_at: string; diff --git a/packages/composables/src/helpers/buildCategoryTree.ts b/packages/composables/src/helpers/buildCategoryTree.ts new file mode 100644 index 000000000..89014d79a --- /dev/null +++ b/packages/composables/src/helpers/buildCategoryTree.ts @@ -0,0 +1,38 @@ +import { Category } from '@vue-storefront/magento-api'; +import { AgnosticCategoryTree } from '@vue-storefront/core'; +import { htmlDecode } from './htmlDecoder'; + +export const buildCategoryTree = (rootCategory: Category, currentCategory: string, withProducts = false): AgnosticCategoryTree => { + const hasChildren = Array.isArray(rootCategory.children) && rootCategory.children.length > 0; + const isCurrent = rootCategory.uid === currentCategory; + const label = htmlDecode(rootCategory.name); + const slug = `/${rootCategory.url_path}${rootCategory.url_suffix || ''}`; + + const childrenUid = hasChildren + ? rootCategory + .children + .reduce((acc, curr) => [...acc, curr.uid], []) + : []; + + const childProductCount = hasChildren + ? rootCategory + .children + .reduce((acc, curr) => acc + curr.product_count, 0) + : 0; + + const items = hasChildren + ? rootCategory + .children + .filter((c) => (withProducts ? c.product_count > 0 : true)) + .map((c) => buildCategoryTree(c, currentCategory)) + : []; + + return { + label, + slug, + uid: [rootCategory.uid, ...childrenUid], + items: items.filter((c) => c.count > 0), + count: childProductCount || rootCategory.product_count, + isCurrent, + }; +}; diff --git a/packages/composables/src/helpers/compareWishlist.ts b/packages/composables/src/helpers/compareWishlist.ts new file mode 100644 index 000000000..6d7febe63 --- /dev/null +++ b/packages/composables/src/helpers/compareWishlist.ts @@ -0,0 +1,9 @@ +export const compareWishlistProduct = ( + productA, + productB, +): boolean => { + const equalSku = productA?.sku === productB?.sku; + const equalUid = productA?.uid === productB?.uid; + + return equalSku && equalUid; +}; diff --git a/packages/composables/src/helpers/findItemOnWishlist.ts b/packages/composables/src/helpers/findItemOnWishlist.ts new file mode 100644 index 000000000..8170d7088 --- /dev/null +++ b/packages/composables/src/helpers/findItemOnWishlist.ts @@ -0,0 +1,9 @@ +import { compareWishlistProduct } from './compareWishlist'; + +export const findItemOnWishlist = (currentWishlist, product) => { + const wishlist = Array.isArray(currentWishlist) ? currentWishlist[0] : currentWishlist; + + return wishlist + ?.items_v2 + ?.items?.find((item) => compareWishlistProduct(item.product, product)); +}; diff --git a/packages/composables/src/helpers/htmlDecoder.ts b/packages/composables/src/helpers/htmlDecoder.ts index 33d77b1d4..577dec84b 100644 --- a/packages/composables/src/helpers/htmlDecoder.ts +++ b/packages/composables/src/helpers/htmlDecoder.ts @@ -1,9 +1,13 @@ export function htmlDecode(input) { - try { - const domParser = new DOMParser(); - const doc = domParser.parseFromString(input, 'text/html'); - return doc.documentElement.textContent; - } catch { - return input; - } + const formatName = () => { + try { + const domParser = new DOMParser(); + const doc = domParser.parseFromString(input, 'text/html'); + return doc.documentElement.textContent; + } catch { + return input; + } + }; + const name = formatName(); + return name === 'undefined' ? '' : name; } diff --git a/packages/composables/src/helpers/userDataGenerator.ts b/packages/composables/src/helpers/userDataGenerator.ts new file mode 100644 index 000000000..87c704526 --- /dev/null +++ b/packages/composables/src/helpers/userDataGenerator.ts @@ -0,0 +1,43 @@ +import { CustomerUpdateParameters } from '@vue-storefront/magento-api'; + +export const generateUserData = (userData): CustomerUpdateParameters => { + const baseData = { + email: userData.email, + firstname: userData.firstName || userData.firstname, + lastname: userData.lastName || userData.lastname, + } as CustomerUpdateParameters; + + if (Object.prototype.hasOwnProperty.call(userData, 'is_subscribed')) { + baseData.is_subscribed = userData.is_subscribed; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'dateOfBirth') || Object.prototype.hasOwnProperty.call(userData, 'date_of_birth')) { + baseData.date_of_birth = userData.dateOfBirth || userData.date_of_birth; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'allow_remote_shopping_assistance')) { + baseData.allow_remote_shopping_assistance = userData.allow_remote_shopping_assistance; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'gender')) { + baseData.gender = userData.gender; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'taxvat')) { + baseData.taxvat = userData.taxvat; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'prefix')) { + baseData.prefix = userData.prefix; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'suffix')) { + baseData.suffix = userData.suffix; + } + + if (Object.prototype.hasOwnProperty.call(userData, 'password')) { + baseData.password = userData.password; + } + + return baseData; +}; diff --git a/packages/composables/src/index.ts b/packages/composables/src/index.ts index 95284ce47..b507a219a 100644 --- a/packages/composables/src/index.ts +++ b/packages/composables/src/index.ts @@ -3,6 +3,8 @@ import { track } from '@vue-storefront/core'; track('VSFMagento'); +export * from './getters'; + export { default as useAddresses } from './composables/useAddresses'; export { default as useBilling } from './composables/useBilling'; export { default as useCart } from './composables/useCart'; @@ -11,6 +13,8 @@ export { default as useCategorySearch } from './composables/useCategorySearch'; export { default as useConfig } from './composables/useConfig'; export { default as useContent } from './composables/useContent'; export { default as useCountrySearch } from './composables/useCountrySearch'; +export { default as useCustomMutation } from './composables/useCustomMutation'; +export { default as useCustomQuery } from './composables/useCustomQuery'; export { default as useExternalCheckout } from './composables/useExternalCheckout'; export { default as useFacet } from './composables/useFacet'; export { default as useForgotPassword } from './composables/useForgotPassword'; @@ -20,14 +24,14 @@ export { default as useMakeOrder } from './composables/useMakeOrder'; export { default as useNewsletter } from './composables/useNewsletter'; export { default as usePaymentProvider } from './composables/usePaymentProvider'; export { default as useProduct } from './composables/useProduct'; +export { default as useRelatedProducts } from './composables/useRelatedProducts'; export { default as useReview } from './composables/useReview'; export { default as useShipping } from './composables/useShipping'; export { default as useShippingProvider } from './composables/useShippingProvider'; +export { default as useUpsellProducts } from './composables/useUpsellProducts'; export { default as useUrlResolver } from './composables/useUrlResolver'; export { default as useUser } from './composables/useUser'; export { default as useUserBilling } from './composables/useUserBilling'; export { default as useUserOrder } from './composables/useUserOrder'; export { default as useUserShipping } from './composables/useUserShipping'; export { default as useWishlist } from './composables/useWishlist'; - -export * from './composables/getters'; diff --git a/packages/composables/src/types/composables.ts b/packages/composables/src/types/composables.ts index c2cdb3a04..055e8707b 100644 --- a/packages/composables/src/types/composables.ts +++ b/packages/composables/src/types/composables.ts @@ -4,7 +4,8 @@ import { } from '@vue-storefront/core'; import { ComputedRef } from '@vue/composition-api'; import { computed } from 'vue-demi'; -import { PlatformApi } from '@vue-storefront/core/lib/src/types'; +import { PlatformApi, UseProductErrors } from '@vue-storefront/core/lib/src/types'; +import { FetchPolicy } from 'apollo-client/core/watchQueryOptions'; export type CustomQueryParams = { customQuery?: CustomQuery; [ k: string]: any }; @@ -190,3 +191,82 @@ export interface UseAddresses Promise, update: (updateParams: UPDATE_ADDRESS_PARAMS) => Promise, } + +export interface UseForgotPasswordErrors { + request: Error; + setNew: Error; +} + +export interface UseForgotPassword { + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + setNew(params: ComposableFunctionArgs<{ tokenValue: string, newPassword: string, email: string }>): Promise; + request(params: ComposableFunctionArgs<{ email: string }>): Promise; +} + +export interface UseRelatedProducts extends Composable { + products: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + search(params: ComposableFunctionArgs): Promise; + [x: string]: any; +} + +export interface UseRelatedProductsErrors { + search: Error; +} + +export interface UseUpsellProducts extends Composable { + products: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + search(params: ComposableFunctionArgs): Promise; + [x: string]: any; +} + +export interface UseUpsellProductsErrors { + search: Error; +} + +export interface UseCustomQuery extends Composable { + setQueryString: (newQueryString: string) => void; + queryString: ComputedProperty; + query: ({ + variables, + fetchPolicy, + }: { + variables: QUERY_VARIABLES, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => Promise; + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + [x: string]: any; +} + +export interface UseUpsellProductsErrors { + query: Error; +} + +export interface UseCustomMutation extends Composable { + setMutationString: (newMutationString: string) => void; + mutationString: ComputedProperty; + mutation: ({ + variables, + fetchPolicy, + }: { + variables: MUTATION_VARIABLES, + fetchPolicy?: FetchPolicy, + // eslint-disable-next-line consistent-return + }) => Promise; + result: ComputedProperty; + loading: ComputedProperty; + error: ComputedProperty; + [x: string]: any; +} + +export interface UseUpsellProductsErrors { + query: Error; +} diff --git a/packages/composables/src/types/index.ts b/packages/composables/src/types/index.ts index deae8bf77..758a379ae 100644 --- a/packages/composables/src/types/index.ts +++ b/packages/composables/src/types/index.ts @@ -6,12 +6,9 @@ import { Category, Countries, Country, - Customer, Product, } from '@vue-storefront/magento-api'; -export type User = Customer; - export type Filter = Record; export interface FacetResultsData { @@ -61,3 +58,5 @@ export interface AgnosticReviewMetadata { id: string; }[]; } + +export declare type FetchPolicy = 'cache-first' | 'network-only' | 'cache-only' | 'no-cache' | 'standby'; diff --git a/packages/theme/.env.example b/packages/theme/.env.example index f6df6118b..9663e1dff 100644 --- a/packages/theme/.env.example +++ b/packages/theme/.env.example @@ -1,4 +1,7 @@ STORE_ENV=dev +STORE_URL=http://localhost:3000 +NUXT_APP_ENV=development +NUXT_APP_PORT=3000 MAGENTO_GRAPHQL=https://{YOUR_SITE_FRONT_URL}/graphql MAGENTO_EXTERNAL_CHECKOUT=false MAGENTO_EXTERNAL_CHECKOUT_URL=https://{YOUR_SITE_FRONT_URL} diff --git a/packages/theme/README.md b/packages/theme/README.md index 884142ae1..ebf5e6c04 100644 --- a/packages/theme/README.md +++ b/packages/theme/README.md @@ -6,12 +6,40 @@ ### Vue Storefront 2 integration with Magento -This theme developed by superheroes from [Caravel](https://github.com/caravelx) and [Leonex](https://www.leonex.de/) ❤️ +This theme developed by superheroes from [Caravel](https://github.com/caravelx) ❤️
-   +
+### Requirements: + +- NodeJS v14 or later +- Yarn +- Magento >= v2.4.3 instance for GraphQL endpoint +- Change Magento GraphQL Query Complexity and Depth values + +> [WARNING] Don't forget to change the Magento GraphQL Query Complexity and Depth values +Magento 2 by default has a lower value for the complexity of 300, and a higher value for the depth of 20. [Magento 2 - Issue #32427](https://github.com/magento/magento2/issues/32427#issuecomment-860478483) +The changes are required, due to the size of the queries and mutations in the `api-client` implementation. +To do this changes, you can use the [Magento 2 module](https://github.com/caravelx/module-graphql-config), which adds a configuration panel to your admin, or do this changes manually. + +To install the Magento 2 GraphQL Config module, on your Magento installation execute: + +```bash +composer require caravelx/module-graphql-config + +php bin/magento module:enable Caravel_GraphQlConfig + +php bin/magento setup:upgrade + +php bin/magento setup:di:compile + +php bin/magento setup:static-content:deploy +``` + +Find more information about the module [GraphQl Custom Config](https://github.com/caravelx/module-graphql-config) + ### Build Setup ``` bash @@ -35,6 +63,7 @@ For detailed explanation on how things work, check out [Nuxt.js docs](https://nu ### Honorable Mentions - [Cyberfuze](https://cyberfuze.com/) +- [Leonex](https://www.leonex.de/) Thanks go to these wonderful people 🙌: @@ -43,7 +72,7 @@ Thanks go to these wonderful people 🙌:

Heitor Ramon Ribeiro

💻 🚧 📆

Heitor Ramon Ribeiro

💻 🚧 📖 📆

Alef Barbeli

💻 📖

Dominik Deimel

💻 📖

Lior Lindvor

💻
- + diff --git a/packages/theme/components/AppHeader.vue b/packages/theme/components/AppHeader.vue index 3ac801320..ee6b0fd05 100644 --- a/packages/theme/components/AppHeader.vue +++ b/packages/theme/components/AppHeader.vue @@ -43,6 +43,7 @@ /> @@ -125,7 +126,7 @@ - + diff --git a/packages/theme/components/CartSidebar.vue b/packages/theme/components/CartSidebar.vue index 1a3290fef..f146b6b81 100644 --- a/packages/theme/components/CartSidebar.vue +++ b/packages/theme/components/CartSidebar.vue @@ -207,7 +207,7 @@ - + + diff --git a/packages/theme/components/Checkout/CartPreview.vue b/packages/theme/components/Checkout/CartPreview.vue index 236a1b8ec..9092e6588 100644 --- a/packages/theme/components/Checkout/CartPreview.vue +++ b/packages/theme/components/Checkout/CartPreview.vue @@ -62,7 +62,7 @@ - + diff --git a/packages/theme/components/Products/RelatedProducts.vue b/packages/theme/components/Products/RelatedProducts.vue new file mode 100644 index 000000000..67fe48693 --- /dev/null +++ b/packages/theme/components/Products/RelatedProducts.vue @@ -0,0 +1,41 @@ + + diff --git a/packages/theme/components/Products/UpsellProducts.vue b/packages/theme/components/Products/UpsellProducts.vue new file mode 100644 index 000000000..09338e086 --- /dev/null +++ b/packages/theme/components/Products/UpsellProducts.vue @@ -0,0 +1,41 @@ + + diff --git a/packages/theme/components/ProductsCarousel.vue b/packages/theme/components/ProductsCarousel.vue index 4c9b00429..5fae8e4cd 100644 --- a/packages/theme/components/ProductsCarousel.vue +++ b/packages/theme/components/ProductsCarousel.vue @@ -36,7 +36,7 @@ -

Heitor Ramon Ribeiro

💻 🚧 📆

Heitor Ramon Ribeiro

💻 🚧 📖 📆

Alef Barbeli

💻 📖

Dominik Deimel

💻 📖

Lior Lindvor

💻