@graphcommerce/magento-product 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Api/ProductListItem.gql.ts +16 -0
- package/Api/ProductListItem.graphql +18 -0
- package/Api/ProductPageItem.gql.ts +16 -0
- package/Api/ProductPageItem.graphql +11 -0
- package/CHANGELOG.md +280 -0
- package/_playwright/productURL.fixture.ts +28 -0
- package/components/JsonLdProduct/JsonLdProduct.gql.ts +16 -0
- package/components/JsonLdProduct/JsonLdProduct.graphql +22 -0
- package/components/JsonLdProduct/JsonLdProductOffer.gql.ts +16 -0
- package/components/JsonLdProduct/JsonLdProductOffer.graphql +13 -0
- package/components/JsonLdProduct/index.tsx +37 -0
- package/components/ProductAddToCart/ProductAddToCart.gql.ts +15 -0
- package/components/ProductAddToCart/ProductAddToCart.graphql +21 -0
- package/components/ProductCustomizable/CustomizableAreaOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableAreaOption.graphql +11 -0
- package/components/ProductCustomizable/CustomizableCheckboxOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableCheckboxOption.graphql +11 -0
- package/components/ProductCustomizable/CustomizableDateOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableDateOption.graphql +10 -0
- package/components/ProductCustomizable/CustomizableDropDownOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableDropDownOption.graphql +12 -0
- package/components/ProductCustomizable/CustomizableFieldOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableFieldOption.graphql +11 -0
- package/components/ProductCustomizable/CustomizableFileOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableFileOption.graphql +13 -0
- package/components/ProductCustomizable/CustomizableMultipleOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableMultipleOption.graphql +12 -0
- package/components/ProductCustomizable/CustomizableOption.gql.ts +20 -0
- package/components/ProductCustomizable/CustomizableOption.graphql +6 -0
- package/components/ProductCustomizable/CustomizableRadioOption.gql.ts +4 -0
- package/components/ProductCustomizable/CustomizableRadioOption.graphql +12 -0
- package/components/ProductCustomizable/ProductCustomizable.gql.ts +14 -0
- package/components/ProductCustomizable/ProductCustomizable.graphql +13 -0
- package/components/ProductList/ProductList.gql.ts +17 -0
- package/components/ProductList/ProductList.graphql +11 -0
- package/components/ProductList/ProductListQueryFragment.gql.ts +4 -0
- package/components/ProductList/ProductListQueryFragment.graphql +14 -0
- package/components/ProductListCount/ProductListCount.gql.ts +4 -0
- package/components/ProductListCount/ProductListCount.graphql +3 -0
- package/components/ProductListCount/index.tsx +55 -0
- package/components/ProductListFilters/FilterCheckboxType.tsx +66 -0
- package/components/ProductListFilters/FilterEqualType.tsx +169 -0
- package/components/ProductListFilters/FilterRangeType.tsx +170 -0
- package/components/ProductListFilters/ProductFiltersQueryFragment.gql.ts +4 -0
- package/components/ProductListFilters/ProductFiltersQueryFragment.graphql +5 -0
- package/components/ProductListFilters/ProductListFilters.gql.ts +4 -0
- package/components/ProductListFilters/ProductListFilters.graphql +12 -0
- package/components/ProductListFilters/index.tsx +61 -0
- package/components/ProductListFiltersContainer/index.tsx +140 -0
- package/components/ProductListItem/index.tsx +223 -0
- package/components/ProductListItems/ProductListItems.gql.ts +4 -0
- package/components/ProductListItems/ProductListItems.graphql +7 -0
- package/components/ProductListItems/ProductListItemsBase.tsx +60 -0
- package/components/ProductListItems/ProductListParamsProvider.tsx +20 -0
- package/components/ProductListItems/filterTypes.tsx +45 -0
- package/components/ProductListItems/filteredProductList.tsx +74 -0
- package/components/ProductListItems/getFilterTypes.ts +51 -0
- package/components/ProductListItems/index.tsx +6 -0
- package/components/ProductListItems/renderer.tsx +16 -0
- package/components/ProductListLink/ProductListLink.tsx +50 -0
- package/components/ProductListPagination/ProductListPagination.gql.ts +4 -0
- package/components/ProductListPagination/ProductListPagination.graphql +6 -0
- package/components/ProductListPagination/index.tsx +31 -0
- package/components/ProductListPrice/ProductListPrice.gql.ts +4 -0
- package/components/ProductListPrice/ProductListPrice.graphql +12 -0
- package/components/ProductListPrice/index.tsx +36 -0
- package/components/ProductListSort/ProductListSort.gql.ts +4 -0
- package/components/ProductListSort/ProductListSort.graphql +10 -0
- package/components/ProductListSort/index.tsx +72 -0
- package/components/ProductPage/ProductPageQueryFragment.gql.ts +4 -0
- package/components/ProductPage/ProductPageQueryFragment.graphql +10 -0
- package/components/ProductPageCategory/ProductPageCategory.gql.ts +16 -0
- package/components/ProductPageCategory/ProductPageCategory.graphql +8 -0
- package/components/ProductPageCategory/index.ts +17 -0
- package/components/ProductPageDescription/ProductPageDescription.gql.ts +16 -0
- package/components/ProductPageDescription/ProductPageDescription.graphql +9 -0
- package/components/ProductPageDescription/index.tsx +54 -0
- package/components/ProductPageGallery/ProductImage.gql.ts +4 -0
- package/components/ProductPageGallery/ProductImage.graphql +4 -0
- package/components/ProductPageGallery/ProductImage.tsx +10 -0
- package/components/ProductPageGallery/ProductPageGallery.gql.ts +16 -0
- package/components/ProductPageGallery/ProductPageGallery.graphql +10 -0
- package/components/ProductPageGallery/ProductVideo.gql.ts +4 -0
- package/components/ProductPageGallery/ProductVideo.graphql +10 -0
- package/components/ProductPageGallery/ProductVideo.tsx +11 -0
- package/components/ProductPageGallery/index.tsx +37 -0
- package/components/ProductPageMeta/ProductPageMeta.gql.ts +16 -0
- package/components/ProductPageMeta/ProductPageMeta.graphql +7 -0
- package/components/ProductPageMeta/index.tsx +17 -0
- package/components/ProductPagePrice/ProductPagePrice.gql.ts +16 -0
- package/components/ProductPagePrice/ProductPagePrice.graphql +50 -0
- package/components/ProductRelated/RelatedProducts.gql.ts +16 -0
- package/components/ProductRelated/RelatedProducts.graphql +5 -0
- package/components/ProductSidebarDelivery/index.tsx +47 -0
- package/components/ProductSpecs/ProductSpecs.gql.ts +4 -0
- package/components/ProductSpecs/ProductSpecs.graphql +12 -0
- package/components/ProductSpecs/index.tsx +52 -0
- package/components/ProductStaticPaths/ProductStaticPaths.gql.ts +13 -0
- package/components/ProductStaticPaths/ProductStaticPaths.graphql +12 -0
- package/components/ProductStaticPaths/getProductStaticPaths.ts +32 -0
- package/components/ProductUpsells/UpsellProducts.gql.ts +16 -0
- package/components/ProductUpsells/UpsellProducts.graphql +5 -0
- package/components/ProductWeight/ProductWeight.gql.ts +12 -0
- package/components/ProductWeight/ProductWeight.graphql +3 -0
- package/components/ProductWeight/index.tsx +30 -0
- package/components/index.ts +45 -0
- package/context/productListParamsContext.ts +7 -0
- package/hooks/ProductLink.gql.ts +16 -0
- package/hooks/ProductLink.graphql +5 -0
- package/hooks/useProductLink.ts +20 -0
- package/hooks/useProductListLink.ts +38 -0
- package/hooks/useProductListLinkPush.ts +22 -0
- package/hooks/useProductListParamsContext.ts +4 -0
- package/index.ts +9 -0
- package/next-env.d.ts +4 -0
- package/package.json +40 -0
- package/tsconfig.json +5 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
import { test as base } from '@graphcommerce/graphql/_playwright/apolloClient.fixture'
|
|
3
|
+
import { ProductStaticPathsDocument } from '../components/ProductStaticPaths/ProductStaticPaths.gql'
|
|
4
|
+
import { ProductTypenames } from '../components/ProductStaticPaths/getProductStaticPaths'
|
|
5
|
+
import { productLink } from '../hooks/useProductLink'
|
|
6
|
+
|
|
7
|
+
type ProductUrls = {
|
|
8
|
+
all: string[]
|
|
9
|
+
} & Record<`${ProductTypenames}`, string>
|
|
10
|
+
|
|
11
|
+
const test = base.extend<{ productURL: ProductUrls }>({
|
|
12
|
+
productURL: async ({ apolloClient, baseURL }, use) => {
|
|
13
|
+
const query = await apolloClient.query({
|
|
14
|
+
query: ProductStaticPathsDocument,
|
|
15
|
+
variables: { currentPage: 1, pageSize: 1000 },
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const productUrls: Partial<Omit<ProductUrls, 'all'>> = {}
|
|
19
|
+
const urls = (query.data.products?.items ?? []).map((p) => {
|
|
20
|
+
productUrls[`${p?.__typename}`] = `${baseURL}${productLink(p!)}`
|
|
21
|
+
return `${baseURL}${productLink(p!)}`
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
await use({ all: urls, ...productUrls } as ProductUrls)
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
export { test }
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type JsonLdProduct_BundleProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
5
|
+
|
|
6
|
+
export type JsonLdProduct_ConfigurableProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
7
|
+
|
|
8
|
+
export type JsonLdProduct_DownloadableProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
9
|
+
|
|
10
|
+
export type JsonLdProduct_GroupedProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
11
|
+
|
|
12
|
+
export type JsonLdProduct_SimpleProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
13
|
+
|
|
14
|
+
export type JsonLdProduct_VirtualProduct_Fragment = { uid: string, name?: Types.Maybe<string>, sku?: Types.Maybe<string>, url_key?: Types.Maybe<string>, description?: Types.Maybe<{ html: string }>, media_gallery?: Types.Maybe<Array<Types.Maybe<{ __typename: 'ProductImage', url?: Types.Maybe<string>, label?: Types.Maybe<string> } | { __typename: 'ProductVideo', label?: Types.Maybe<string> }>>>, categories?: Types.Maybe<Array<Types.Maybe<{ uid: string, url_key?: Types.Maybe<string>, name?: Types.Maybe<string> }>>>, price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
15
|
+
|
|
16
|
+
export type JsonLdProductFragment = JsonLdProduct_BundleProduct_Fragment | JsonLdProduct_ConfigurableProduct_Fragment | JsonLdProduct_DownloadableProduct_Fragment | JsonLdProduct_GroupedProduct_Fragment | JsonLdProduct_SimpleProduct_Fragment | JsonLdProduct_VirtualProduct_Fragment;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
fragment JsonLdProduct on ProductInterface {
|
|
2
|
+
uid
|
|
3
|
+
name
|
|
4
|
+
sku
|
|
5
|
+
description {
|
|
6
|
+
html
|
|
7
|
+
}
|
|
8
|
+
media_gallery {
|
|
9
|
+
label
|
|
10
|
+
__typename
|
|
11
|
+
... on ProductImage {
|
|
12
|
+
url
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
url_key
|
|
16
|
+
categories {
|
|
17
|
+
uid
|
|
18
|
+
url_key
|
|
19
|
+
name
|
|
20
|
+
}
|
|
21
|
+
...JsonLdProductOffer
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type JsonLdProductOffer_BundleProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
5
|
+
|
|
6
|
+
export type JsonLdProductOffer_ConfigurableProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
7
|
+
|
|
8
|
+
export type JsonLdProductOffer_DownloadableProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
9
|
+
|
|
10
|
+
export type JsonLdProductOffer_GroupedProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
11
|
+
|
|
12
|
+
export type JsonLdProductOffer_SimpleProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
13
|
+
|
|
14
|
+
export type JsonLdProductOffer_VirtualProduct_Fragment = { price_range: { minimum_price: { regular_price: { value?: Types.Maybe<number>, currency?: Types.Maybe<Types.CurrencyEnum> }, final_price: { value?: Types.Maybe<number> } } } };
|
|
15
|
+
|
|
16
|
+
export type JsonLdProductOfferFragment = JsonLdProductOffer_BundleProduct_Fragment | JsonLdProductOffer_ConfigurableProduct_Fragment | JsonLdProductOffer_DownloadableProduct_Fragment | JsonLdProductOffer_GroupedProduct_Fragment | JsonLdProductOffer_SimpleProduct_Fragment | JsonLdProductOffer_VirtualProduct_Fragment;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ProductImage } from '@graphcommerce/graphql'
|
|
2
|
+
import { Product } from 'schema-dts'
|
|
3
|
+
import { JsonLdProductFragment } from './JsonLdProduct.gql'
|
|
4
|
+
import { JsonLdProductOfferFragment } from './JsonLdProductOffer.gql'
|
|
5
|
+
|
|
6
|
+
export function jsonLdProduct(props: JsonLdProductFragment): Product {
|
|
7
|
+
const { name, sku, media_gallery, categories, description, url_key } = props
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
'@type': 'Product',
|
|
11
|
+
name: name ?? undefined,
|
|
12
|
+
sku: sku ?? undefined,
|
|
13
|
+
image: media_gallery
|
|
14
|
+
? media_gallery?.map((img) => (img as ProductImage)?.url ?? '')
|
|
15
|
+
: undefined,
|
|
16
|
+
category: categories?.[0]?.name ?? undefined,
|
|
17
|
+
identifier: url_key ?? undefined,
|
|
18
|
+
description: description?.html
|
|
19
|
+
? (description.html ?? '').replace(/(<([^>]+)>)/gi, '')
|
|
20
|
+
: undefined,
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function jsonLdProductOffer(props: JsonLdProductOfferFragment): Partial<Product> {
|
|
25
|
+
const { price_range } = props
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
offers: {
|
|
29
|
+
'@type': 'AggregateOffer',
|
|
30
|
+
itemCondition: 'https://schema.org/NewCondition',
|
|
31
|
+
offerCount: 1,
|
|
32
|
+
priceCurrency: price_range.minimum_price.regular_price.currency ?? undefined,
|
|
33
|
+
highPrice: price_range?.minimum_price?.regular_price.value ?? undefined,
|
|
34
|
+
lowPrice: price_range.minimum_price.final_price.value ?? undefined,
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
5
|
+
|
|
6
|
+
export const ProductAddToCartDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"ProductAddToCart"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cartId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sku"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"quantity"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}},"defaultValue":{"kind":"IntValue","value":"1"}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"enteredOptions"}},"type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"EnteredOptionInput"}}},"defaultValue":{"kind":"ListValue","values":[]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"addProductsToCart"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"cartId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cartId"}}},{"kind":"Argument","name":{"kind":"Name","value":"cartItems"},"value":{"kind":"ListValue","values":[{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"sku"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sku"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"quantity"},"value":{"kind":"Variable","name":{"kind":"Name","value":"quantity"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"entered_options"},"value":{"kind":"Variable","name":{"kind":"Name","value":"enteredOptions"}}}]}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cart"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"quantity"}}]}},{"kind":"Field","name":{"kind":"Name","value":"total_quantity"}},{"kind":"Field","name":{"kind":"Name","value":"prices"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"grand_total"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"applied_taxes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"amount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"label"}}]}},{"kind":"Field","name":{"kind":"Name","value":"discounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"amount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"label"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subtotal_excluding_tax"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subtotal_including_tax"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"subtotal_with_discount_excluding_tax"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"shipping_addresses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"selected_shipping_method"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"carrier_code"}},{"kind":"Field","name":{"kind":"Name","value":"method_code"}},{"kind":"Field","name":{"kind":"Name","value":"method_title"}},{"kind":"Field","name":{"kind":"Name","value":"carrier_title"}},{"kind":"Field","name":{"kind":"Name","value":"amount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"available_shipping_methods"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"carrier_code"}},{"kind":"Field","name":{"kind":"Name","value":"method_code"}},{"kind":"Field","name":{"kind":"Name","value":"price_incl_tax"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"price_excl_tax"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"user_errors"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"code"}},{"kind":"Field","name":{"kind":"Name","value":"message"}}]}}]}}]}}]} as unknown as DocumentNode<ProductAddToCartMutation, ProductAddToCartMutationVariables>;
|
|
7
|
+
export type ProductAddToCartMutationVariables = Types.Exact<{
|
|
8
|
+
cartId: Types.Scalars['String'];
|
|
9
|
+
sku: Types.Scalars['String'];
|
|
10
|
+
quantity?: Types.Maybe<Types.Scalars['Float']>;
|
|
11
|
+
enteredOptions?: Types.Maybe<Array<Types.Maybe<Types.EnteredOptionInput>> | Types.Maybe<Types.EnteredOptionInput>>;
|
|
12
|
+
}>;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export type ProductAddToCartMutation = { addProductsToCart?: Types.Maybe<{ cart: { __typename: 'Cart', id: string, total_quantity: number, items?: Types.Maybe<Array<Types.Maybe<{ __typename: 'BundleCartItem', uid: string, quantity: number } | { __typename: 'ConfigurableCartItem', uid: string, quantity: number } | { __typename: 'DownloadableCartItem', uid: string, quantity: number } | { __typename: 'SimpleCartItem', uid: string, quantity: number } | { __typename: 'VirtualCartItem', uid: string, quantity: number }>>>, prices?: Types.Maybe<{ __typename: 'CartPrices', grand_total?: Types.Maybe<{ currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }>, applied_taxes?: Types.Maybe<Array<Types.Maybe<{ label: string, amount: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>>>, discounts?: Types.Maybe<Array<Types.Maybe<{ label: string, amount: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>>>, subtotal_excluding_tax?: Types.Maybe<{ currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }>, subtotal_including_tax?: Types.Maybe<{ currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }>, subtotal_with_discount_excluding_tax?: Types.Maybe<{ currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }> }>, shipping_addresses: Array<Types.Maybe<{ selected_shipping_method?: Types.Maybe<{ carrier_code: string, method_code: string, method_title: string, carrier_title: string, amount: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, available_shipping_methods?: Types.Maybe<Array<Types.Maybe<{ carrier_code: string, method_code?: Types.Maybe<string>, price_incl_tax: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, price_excl_tax: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>>> }>> }, user_errors: Array<Types.Maybe<{ code: Types.CartUserInputErrorType, message: string }>> }> };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
mutation ProductAddToCart(
|
|
2
|
+
$cartId: String!
|
|
3
|
+
$sku: String!
|
|
4
|
+
$quantity: Float = 1
|
|
5
|
+
$enteredOptions: [EnteredOptionInput] = []
|
|
6
|
+
) {
|
|
7
|
+
addProductsToCart(
|
|
8
|
+
cartId: $cartId
|
|
9
|
+
cartItems: [{ sku: $sku, quantity: $quantity, entered_options: $enteredOptions }]
|
|
10
|
+
) {
|
|
11
|
+
cart {
|
|
12
|
+
id
|
|
13
|
+
__typename
|
|
14
|
+
...CartItemCountChanged
|
|
15
|
+
}
|
|
16
|
+
user_errors {
|
|
17
|
+
code
|
|
18
|
+
message
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableAreaOptionFragment = { product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableCheckboxOptionFragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableDateOptionFragment = { product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableDropDownOptionFragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableFieldOptionFragment = { product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableFileOptionFragment = { product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableMultipleOptionFragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableOption_CustomizableAreaOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
5
|
+
|
|
6
|
+
export type CustomizableOption_CustomizableCheckboxOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
7
|
+
|
|
8
|
+
export type CustomizableOption_CustomizableDateOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
9
|
+
|
|
10
|
+
export type CustomizableOption_CustomizableDropDownOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
11
|
+
|
|
12
|
+
export type CustomizableOption_CustomizableFieldOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
13
|
+
|
|
14
|
+
export type CustomizableOption_CustomizableFileOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
15
|
+
|
|
16
|
+
export type CustomizableOption_CustomizableMultipleOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
17
|
+
|
|
18
|
+
export type CustomizableOption_CustomizableRadioOption_Fragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string> };
|
|
19
|
+
|
|
20
|
+
export type CustomizableOptionFragment = CustomizableOption_CustomizableAreaOption_Fragment | CustomizableOption_CustomizableCheckboxOption_Fragment | CustomizableOption_CustomizableDateOption_Fragment | CustomizableOption_CustomizableDropDownOption_Fragment | CustomizableOption_CustomizableFieldOption_Fragment | CustomizableOption_CustomizableFileOption_Fragment | CustomizableOption_CustomizableMultipleOption_Fragment | CustomizableOption_CustomizableRadioOption_Fragment;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type CustomizableRadioOptionFragment = { uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type ProductCustomizable_BundleProduct_Fragment = { options?: Types.Maybe<Array<Types.Maybe<{ __typename: 'CustomizableAreaOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableCheckboxOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> } | { __typename: 'CustomizableDateOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableDropDownOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableFieldOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableFileOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableMultipleOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableRadioOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> }>>> };
|
|
5
|
+
|
|
6
|
+
export type ProductCustomizable_ConfigurableProduct_Fragment = { options?: Types.Maybe<Array<Types.Maybe<{ __typename: 'CustomizableAreaOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableCheckboxOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> } | { __typename: 'CustomizableDateOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableDropDownOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableFieldOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableFileOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableMultipleOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableRadioOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> }>>> };
|
|
7
|
+
|
|
8
|
+
export type ProductCustomizable_DownloadableProduct_Fragment = { options?: Types.Maybe<Array<Types.Maybe<{ __typename: 'CustomizableAreaOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableCheckboxOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> } | { __typename: 'CustomizableDateOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableDropDownOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableFieldOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableFileOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableMultipleOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableRadioOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> }>>> };
|
|
9
|
+
|
|
10
|
+
export type ProductCustomizable_SimpleProduct_Fragment = { options?: Types.Maybe<Array<Types.Maybe<{ __typename: 'CustomizableAreaOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableCheckboxOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> } | { __typename: 'CustomizableDateOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableDropDownOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableFieldOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableFileOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableMultipleOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableRadioOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> }>>> };
|
|
11
|
+
|
|
12
|
+
export type ProductCustomizable_VirtualProduct_Fragment = { options?: Types.Maybe<Array<Types.Maybe<{ __typename: 'CustomizableAreaOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, areaValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableCheckboxOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, checkboxValue?: Types.Maybe<Array<Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string, option_type_id?: Types.Maybe<number>, title?: Types.Maybe<string> }>>> } | { __typename: 'CustomizableDateOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dateValue?: Types.Maybe<{ price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableDropDownOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, dropdownValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableFieldOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fieldValue?: Types.Maybe<{ max_characters?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableFileOption', product_sku?: Types.Maybe<string>, uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, fileValue?: Types.Maybe<{ file_extension?: Types.Maybe<string>, image_size_x?: Types.Maybe<number>, image_size_y?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, uid: string }> } | { __typename: 'CustomizableMultipleOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, multipleValue?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> } | { __typename: 'CustomizableRadioOption', uid: string, required?: Types.Maybe<boolean>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, value?: Types.Maybe<Array<Types.Maybe<{ option_type_id?: Types.Maybe<number>, price?: Types.Maybe<number>, price_type?: Types.Maybe<Types.PriceTypeEnum>, sku?: Types.Maybe<string>, sort_order?: Types.Maybe<number>, title?: Types.Maybe<string>, uid: string }>>> }>>> };
|
|
13
|
+
|
|
14
|
+
export type ProductCustomizableFragment = ProductCustomizable_BundleProduct_Fragment | ProductCustomizable_ConfigurableProduct_Fragment | ProductCustomizable_DownloadableProduct_Fragment | ProductCustomizable_SimpleProduct_Fragment | ProductCustomizable_VirtualProduct_Fragment;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
fragment ProductCustomizable on CustomizableProductInterface {
|
|
2
|
+
options {
|
|
3
|
+
__typename
|
|
4
|
+
...CustomizableAreaOption
|
|
5
|
+
...CustomizableCheckboxOption
|
|
6
|
+
...CustomizableDateOption
|
|
7
|
+
...CustomizableDropDownOption
|
|
8
|
+
...CustomizableMultipleOption
|
|
9
|
+
...CustomizableFieldOption
|
|
10
|
+
...CustomizableFileOption
|
|
11
|
+
...CustomizableRadioOption
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
5
|
+
|
|
6
|
+
export const ProductListDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"ProductList"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pageSize"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"defaultValue":{"kind":"IntValue","value":"23"}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentPage"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}},"defaultValue":{"kind":"IntValue","value":"1"}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"filters"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProductAttributeFilterInput"}},"defaultValue":{"kind":"ObjectValue","fields":[]}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sort"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProductAttributeSortInput"}},"defaultValue":{"kind":"ObjectValue","fields":[]}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"search"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}},"defaultValue":{"kind":"StringValue","value":"","block":false}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"categoryUid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"products"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"pageSize"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pageSize"}}},{"kind":"Argument","name":{"kind":"Name","value":"currentPage"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentPage"}}},{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"Variable","name":{"kind":"Name","value":"filters"}}},{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sort"}}},{"kind":"Argument","name":{"kind":"Name","value":"search"},"value":{"kind":"Variable","name":{"kind":"Name","value":"search"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"total_count"}},{"kind":"Field","name":{"kind":"Name","value":"page_info"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"current_page"}},{"kind":"Field","name":{"kind":"Name","value":"total_pages"}}]}},{"kind":"Field","name":{"kind":"Name","value":"sort_fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"default"}},{"kind":"Field","name":{"kind":"Name","value":"options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"url_key"}},{"kind":"Field","name":{"kind":"Name","value":"sku"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"small_image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"label"}}]}},{"kind":"Field","name":{"kind":"Name","value":"price_range"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"maximum_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"regular_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"discount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"amount_off"}},{"kind":"Field","name":{"kind":"Name","value":"percent_off"}}]}},{"kind":"Field","name":{"kind":"Name","value":"final_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"minimum_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"regular_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"discount"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"amount_off"}},{"kind":"Field","name":{"kind":"Name","value":"percent_off"}}]}},{"kind":"Field","name":{"kind":"Name","value":"final_price"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currency"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"rating_summary"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ConfigurableProduct"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"configurable_options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attribute_code"}},{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"values"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"store_label"}},{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"swatch_data"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"__typename"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"TextSwatchData"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ColorSwatchData"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"ImageSwatchData"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"thumbnail"}}]}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"variants"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"attributes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"code"}}]}},{"kind":"Field","name":{"kind":"Name","value":"product"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"uid"}},{"kind":"Field","name":{"kind":"Name","value":"sku"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"small_image"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"url"}}]}}]}}]}}]}}]}}]}},{"kind":"Field","alias":{"kind":"Name","value":"filters"},"name":{"kind":"Name","value":"products"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filter"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"category_uid"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"Variable","name":{"kind":"Name","value":"categoryUid"}}}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"aggregations"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"count"}},{"kind":"Field","name":{"kind":"Name","value":"attribute_code"}},{"kind":"Field","name":{"kind":"Name","value":"options"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"label"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"count"}}]}}]}}]}}]}}]} as unknown as DocumentNode<ProductListQuery, ProductListQueryVariables>;
|
|
7
|
+
export type ProductListQueryVariables = Types.Exact<{
|
|
8
|
+
pageSize?: Types.Maybe<Types.Scalars['Int']>;
|
|
9
|
+
currentPage?: Types.Maybe<Types.Scalars['Int']>;
|
|
10
|
+
filters?: Types.Maybe<Types.ProductAttributeFilterInput>;
|
|
11
|
+
sort?: Types.Maybe<Types.ProductAttributeSortInput>;
|
|
12
|
+
search?: Types.Maybe<Types.Scalars['String']>;
|
|
13
|
+
categoryUid: Types.Scalars['String'];
|
|
14
|
+
}>;
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
export type ProductListQuery = { products?: Types.Maybe<{ total_count?: Types.Maybe<number>, page_info?: Types.Maybe<{ current_page?: Types.Maybe<number>, total_pages?: Types.Maybe<number> }>, sort_fields?: Types.Maybe<{ default?: Types.Maybe<string>, options?: Types.Maybe<Array<Types.Maybe<{ label?: Types.Maybe<string>, value?: Types.Maybe<string> }>>> }>, items?: Types.Maybe<Array<Types.Maybe<{ __typename: 'BundleProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'ConfigurableProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, configurable_options?: Types.Maybe<Array<Types.Maybe<{ attribute_code?: Types.Maybe<string>, uid: string, label?: Types.Maybe<string>, values?: Types.Maybe<Array<Types.Maybe<{ store_label?: Types.Maybe<string>, uid?: Types.Maybe<string>, swatch_data?: Types.Maybe<{ __typename: 'ColorSwatchData', value?: Types.Maybe<string> } | { __typename: 'ImageSwatchData', value?: Types.Maybe<string>, thumbnail?: Types.Maybe<string> } | { __typename: 'TextSwatchData', value?: Types.Maybe<string> }> }>>> }>>>, variants?: Types.Maybe<Array<Types.Maybe<{ attributes?: Types.Maybe<Array<Types.Maybe<{ uid: string, code?: Types.Maybe<string> }>>>, product?: Types.Maybe<{ uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, small_image?: Types.Maybe<{ label?: Types.Maybe<string>, url?: Types.Maybe<string> }> }> }>>>, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'DownloadableProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'GroupedProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'SimpleProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'VirtualProduct', uid: string, url_key?: Types.Maybe<string>, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } }>>> }>, filters?: Types.Maybe<{ aggregations?: Types.Maybe<Array<Types.Maybe<{ label?: Types.Maybe<string>, count?: Types.Maybe<number>, attribute_code: string, options?: Types.Maybe<Array<Types.Maybe<{ label?: Types.Maybe<string>, value: string, count?: Types.Maybe<number> }>>> }>>> }> };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
query ProductList(
|
|
2
|
+
$pageSize: Int = 23
|
|
3
|
+
$currentPage: Int = 1
|
|
4
|
+
$filters: ProductAttributeFilterInput = {}
|
|
5
|
+
$sort: ProductAttributeSortInput = {}
|
|
6
|
+
$search: String = ""
|
|
7
|
+
$categoryUid: String!
|
|
8
|
+
) {
|
|
9
|
+
...ProductListQueryFragment
|
|
10
|
+
...ProductFiltersQueryFragment
|
|
11
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import * as Types from '@graphcommerce/graphql';
|
|
3
|
+
|
|
4
|
+
export type ProductListQueryFragment = { products?: Types.Maybe<{ total_count?: Types.Maybe<number>, page_info?: Types.Maybe<{ current_page?: Types.Maybe<number>, total_pages?: Types.Maybe<number> }>, sort_fields?: Types.Maybe<{ default?: Types.Maybe<string>, options?: Types.Maybe<Array<Types.Maybe<{ label?: Types.Maybe<string>, value?: Types.Maybe<string> }>>> }>, items?: Types.Maybe<Array<Types.Maybe<{ __typename: 'BundleProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'ConfigurableProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } }, configurable_options?: Types.Maybe<Array<Types.Maybe<{ attribute_code?: Types.Maybe<string>, uid: string, label?: Types.Maybe<string>, values?: Types.Maybe<Array<Types.Maybe<{ store_label?: Types.Maybe<string>, uid?: Types.Maybe<string>, swatch_data?: Types.Maybe<{ __typename: 'ColorSwatchData', value?: Types.Maybe<string> } | { __typename: 'ImageSwatchData', value?: Types.Maybe<string>, thumbnail?: Types.Maybe<string> } | { __typename: 'TextSwatchData', value?: Types.Maybe<string> }> }>>> }>>>, variants?: Types.Maybe<Array<Types.Maybe<{ attributes?: Types.Maybe<Array<Types.Maybe<{ uid: string, code?: Types.Maybe<string> }>>>, product?: Types.Maybe<{ uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, small_image?: Types.Maybe<{ label?: Types.Maybe<string>, url?: Types.Maybe<string> }> }> }>>> } | { __typename: 'DownloadableProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'GroupedProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'SimpleProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } } | { __typename: 'VirtualProduct', uid: string, sku?: Types.Maybe<string>, name?: Types.Maybe<string>, url_key?: Types.Maybe<string>, rating_summary: number, small_image?: Types.Maybe<{ url?: Types.Maybe<string>, label?: Types.Maybe<string> }>, price_range: { maximum_price?: Types.Maybe<{ regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } }>, minimum_price: { regular_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> }, discount?: Types.Maybe<{ amount_off?: Types.Maybe<number>, percent_off?: Types.Maybe<number> }>, final_price: { currency?: Types.Maybe<Types.CurrencyEnum>, value?: Types.Maybe<number> } } } }>>> }> };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
fragment ProductListQueryFragment on Query {
|
|
2
|
+
products(
|
|
3
|
+
pageSize: $pageSize
|
|
4
|
+
currentPage: $currentPage
|
|
5
|
+
filter: $filters
|
|
6
|
+
sort: $sort
|
|
7
|
+
search: $search
|
|
8
|
+
) {
|
|
9
|
+
...ProductListCount
|
|
10
|
+
...ProductListPagination
|
|
11
|
+
...ProductListSort
|
|
12
|
+
...ProductListItems
|
|
13
|
+
}
|
|
14
|
+
}
|