@swishapp/sdk 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +50 -0
  2. package/dist/ajax-api/ajax-api-client.d.ts +81 -0
  3. package/dist/ajax-api/ajax-api-publisher.d.ts +9 -0
  4. package/dist/cache/fetch-cache.d.ts +87 -0
  5. package/dist/dom/dom-utils.d.ts +16 -0
  6. package/dist/events/event-bus.d.ts +7 -0
  7. package/dist/index.d.ts +8 -0
  8. package/dist/state/index.d.ts +4 -0
  9. package/dist/state/item-context-signal.d.ts +11 -0
  10. package/dist/state/item-count-signal.d.ts +7 -0
  11. package/dist/state/item-state-signal.d.ts +19 -0
  12. package/dist/state/swish-query-signals.d.ts +21 -0
  13. package/dist/storefront-api/load-product-card-data.d.ts +15 -0
  14. package/dist/storefront-api/load-product-detail-data.d.ts +15 -0
  15. package/dist/storefront-api/load-product-id.d.ts +11 -0
  16. package/dist/storefront-api/load-product-images.d.ts +20 -0
  17. package/dist/storefront-api/load-product-options.d.ts +13 -0
  18. package/dist/storefront-api/load-product-recommendations.d.ts +17 -0
  19. package/dist/storefront-api/load-selected-variant.d.ts +14 -0
  20. package/dist/storefront-api/queries/fragments.d.ts +7 -0
  21. package/dist/storefront-api/queries/index.d.ts +14 -0
  22. package/dist/storefront-api/storefront-api-client.d.ts +67 -0
  23. package/dist/storefront-api/types/storefront.generated.d.ts +461 -0
  24. package/dist/storefront-api/types/storefront.types.d.ts +8460 -0
  25. package/dist/swish-api/items-batch-loader.d.ts +4 -0
  26. package/dist/swish-api/swish-api-client.d.ts +43 -0
  27. package/dist/swish-api/swish-api-publisher.d.ts +8 -0
  28. package/dist/swish-ui/swish-ui-element.d.ts +9 -0
  29. package/dist/swish-ui/swish-ui-utils.d.ts +112 -0
  30. package/dist/swish.d.ts +124 -0
  31. package/dist/swish.js +403 -0
  32. package/dist/types.d.ts +57 -0
  33. package/dist/utils/shop-bridge.d.ts +26 -0
  34. package/dist/utils/shopify-gid.d.ts +2 -0
  35. package/dist/utils/shopify-url-utils.d.ts +13 -0
  36. package/package.json +60 -0
@@ -0,0 +1,461 @@
1
+ import * as StorefrontTypes from './storefront.types';
2
+ export type ProductImageFieldsFragment = Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>;
3
+ export type ProductCardDataFieldsFragment = (Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title'> & {
4
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
5
+ compareAtPriceRange: {
6
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
7
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
8
+ };
9
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
10
+ priceRange: {
11
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
12
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
13
+ };
14
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count'>>;
15
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
16
+ });
17
+ export type ProductVariantDataFieldsFragment = (Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'sku' | 'title'> & {
18
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
19
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
20
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
21
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
22
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
23
+ });
24
+ export type ProductOptionsVariantFieldsFragment = (Pick<StorefrontTypes.ProductVariant, 'id'> & {
25
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
26
+ });
27
+ export type SelectedVariantFieldsFragment = (Pick<StorefrontTypes.Product, 'id' | 'title' | 'handle'> & {
28
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
29
+ variantBySelectedOptions?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'title'> & {
30
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
31
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
32
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
33
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
34
+ })>;
35
+ });
36
+ export type ProductOptionsFieldsFragment = (Pick<StorefrontTypes.Product, 'id' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
37
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
38
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
39
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
40
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
41
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
42
+ image?: StorefrontTypes.Maybe<{
43
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
44
+ }>;
45
+ })>;
46
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
47
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
48
+ })>;
49
+ })>;
50
+ })>;
51
+ });
52
+ export type ProductImagesFieldsFragment = {
53
+ images: {
54
+ nodes: Array<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
55
+ };
56
+ };
57
+ export type GetProductCardDataQueryVariables = StorefrontTypes.Exact<{
58
+ productId: StorefrontTypes.Scalars['ID']['input'];
59
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
60
+ country: StorefrontTypes.CountryCode;
61
+ language: StorefrontTypes.LanguageCode;
62
+ }>;
63
+ export type GetProductCardDataQuery = {
64
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title'> & {
65
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
66
+ compareAtPriceRange: {
67
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
68
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
69
+ };
70
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
71
+ priceRange: {
72
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
73
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
74
+ };
75
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count'>>;
76
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
77
+ })>;
78
+ };
79
+ export type GetProductCardDataWithVariantQueryVariables = StorefrontTypes.Exact<{
80
+ productId: StorefrontTypes.Scalars['ID']['input'];
81
+ variantId: StorefrontTypes.Scalars['ID']['input'];
82
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
83
+ variantMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
84
+ country: StorefrontTypes.CountryCode;
85
+ language: StorefrontTypes.LanguageCode;
86
+ }>;
87
+ export type GetProductCardDataWithVariantQuery = {
88
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title'> & {
89
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
90
+ compareAtPriceRange: {
91
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
92
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
93
+ };
94
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
95
+ priceRange: {
96
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
97
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
98
+ };
99
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count'>>;
100
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
101
+ })>;
102
+ variant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'sku' | 'title'> & {
103
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
104
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
105
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
106
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
107
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
108
+ })>;
109
+ };
110
+ export type GetProductOptionsQueryVariables = StorefrontTypes.Exact<{
111
+ productId: StorefrontTypes.Scalars['ID']['input'];
112
+ country: StorefrontTypes.CountryCode;
113
+ language: StorefrontTypes.LanguageCode;
114
+ }>;
115
+ export type GetProductOptionsQuery = {
116
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
117
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
118
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
119
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
120
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
121
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
122
+ image?: StorefrontTypes.Maybe<{
123
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
124
+ }>;
125
+ })>;
126
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
127
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
128
+ })>;
129
+ })>;
130
+ })>;
131
+ })>;
132
+ };
133
+ export type GetProductOptionsByHandleQueryVariables = StorefrontTypes.Exact<{
134
+ handle: StorefrontTypes.Scalars['String']['input'];
135
+ country: StorefrontTypes.CountryCode;
136
+ language: StorefrontTypes.LanguageCode;
137
+ }>;
138
+ export type GetProductOptionsByHandleQuery = {
139
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
140
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
141
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
142
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
143
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
144
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
145
+ image?: StorefrontTypes.Maybe<{
146
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
147
+ }>;
148
+ })>;
149
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
150
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
151
+ })>;
152
+ })>;
153
+ })>;
154
+ })>;
155
+ };
156
+ export type GetProductOptionsWithVariantQueryVariables = StorefrontTypes.Exact<{
157
+ productId: StorefrontTypes.Scalars['ID']['input'];
158
+ variantId: StorefrontTypes.Scalars['ID']['input'];
159
+ country: StorefrontTypes.CountryCode;
160
+ language: StorefrontTypes.LanguageCode;
161
+ }>;
162
+ export type GetProductOptionsWithVariantQuery = {
163
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
164
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
165
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
166
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
167
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
168
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
169
+ image?: StorefrontTypes.Maybe<{
170
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
171
+ }>;
172
+ })>;
173
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
174
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
175
+ })>;
176
+ })>;
177
+ })>;
178
+ })>;
179
+ variant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
180
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
181
+ })>;
182
+ };
183
+ export type GetProductOptionsByHandleWithVariantQueryVariables = StorefrontTypes.Exact<{
184
+ handle: StorefrontTypes.Scalars['String']['input'];
185
+ variantId: StorefrontTypes.Scalars['ID']['input'];
186
+ country: StorefrontTypes.CountryCode;
187
+ language: StorefrontTypes.LanguageCode;
188
+ }>;
189
+ export type GetProductOptionsByHandleWithVariantQuery = {
190
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
191
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
192
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
193
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
194
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
195
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
196
+ image?: StorefrontTypes.Maybe<{
197
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
198
+ }>;
199
+ })>;
200
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
201
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
202
+ })>;
203
+ })>;
204
+ })>;
205
+ })>;
206
+ variant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
207
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
208
+ })>;
209
+ };
210
+ export type GetSelectedVariantQueryVariables = StorefrontTypes.Exact<{
211
+ productId: StorefrontTypes.Scalars['ID']['input'];
212
+ selectedOptions: Array<StorefrontTypes.SelectedOptionInput> | StorefrontTypes.SelectedOptionInput;
213
+ country: StorefrontTypes.CountryCode;
214
+ language: StorefrontTypes.LanguageCode;
215
+ }>;
216
+ export type GetSelectedVariantQuery = {
217
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'handle'> & {
218
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
219
+ variantBySelectedOptions?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'title'> & {
220
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
221
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
222
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
223
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
224
+ })>;
225
+ })>;
226
+ };
227
+ export type GetSelectedVariantByHandleQueryVariables = StorefrontTypes.Exact<{
228
+ handle: StorefrontTypes.Scalars['String']['input'];
229
+ selectedOptions: Array<StorefrontTypes.SelectedOptionInput> | StorefrontTypes.SelectedOptionInput;
230
+ country: StorefrontTypes.CountryCode;
231
+ language: StorefrontTypes.LanguageCode;
232
+ }>;
233
+ export type GetSelectedVariantByHandleQuery = {
234
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'title' | 'handle'> & {
235
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
236
+ variantBySelectedOptions?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'title'> & {
237
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
238
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
239
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
240
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
241
+ })>;
242
+ })>;
243
+ };
244
+ export type GetProductDetailDataQueryVariables = StorefrontTypes.Exact<{
245
+ productId: StorefrontTypes.Scalars['ID']['input'];
246
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
247
+ country: StorefrontTypes.CountryCode;
248
+ language: StorefrontTypes.LanguageCode;
249
+ }>;
250
+ export type GetProductDetailDataQuery = {
251
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
252
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
253
+ compareAtPriceRange: {
254
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
255
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
256
+ };
257
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
258
+ priceRange: {
259
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
260
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
261
+ };
262
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
263
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
264
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
265
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
266
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
267
+ image?: StorefrontTypes.Maybe<{
268
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
269
+ }>;
270
+ })>;
271
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
272
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
273
+ })>;
274
+ })>;
275
+ })>;
276
+ images: {
277
+ nodes: Array<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
278
+ };
279
+ })>;
280
+ };
281
+ export type GetProductDetailDataWithVariantQueryVariables = StorefrontTypes.Exact<{
282
+ productId: StorefrontTypes.Scalars['ID']['input'];
283
+ variantId: StorefrontTypes.Scalars['ID']['input'];
284
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
285
+ variantMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
286
+ country: StorefrontTypes.CountryCode;
287
+ language: StorefrontTypes.LanguageCode;
288
+ }>;
289
+ export type GetProductDetailDataWithVariantQuery = {
290
+ product?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title' | 'encodedVariantAvailability' | 'encodedVariantExistence'> & {
291
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
292
+ compareAtPriceRange: {
293
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
294
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
295
+ };
296
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
297
+ priceRange: {
298
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
299
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
300
+ };
301
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count' | 'precision'>>;
302
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
303
+ options: Array<(Pick<StorefrontTypes.ProductOption, 'id' | 'name'> & {
304
+ optionValues: Array<(Pick<StorefrontTypes.ProductOptionValue, 'name'> & {
305
+ swatch?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductOptionValueSwatch, 'color'> & {
306
+ image?: StorefrontTypes.Maybe<{
307
+ previewImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'url'>>;
308
+ }>;
309
+ })>;
310
+ firstSelectableVariant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id'> & {
311
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
312
+ })>;
313
+ })>;
314
+ })>;
315
+ images: {
316
+ nodes: Array<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
317
+ };
318
+ })>;
319
+ variant?: StorefrontTypes.Maybe<(Pick<StorefrontTypes.ProductVariant, 'id' | 'availableForSale' | 'currentlyNotInStock' | 'sku' | 'title'> & {
320
+ compareAtPrice?: StorefrontTypes.Maybe<Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>>;
321
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
322
+ price: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
323
+ selectedOptions: Array<Pick<StorefrontTypes.SelectedOption, 'name' | 'value'>>;
324
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
325
+ })>;
326
+ };
327
+ export type GetProductImagesByIdQueryVariables = StorefrontTypes.Exact<{
328
+ ids: Array<StorefrontTypes.Scalars['ID']['input']> | StorefrontTypes.Scalars['ID']['input'];
329
+ country: StorefrontTypes.CountryCode;
330
+ language: StorefrontTypes.LanguageCode;
331
+ }>;
332
+ export type GetProductImagesByIdQuery = {
333
+ nodes: Array<StorefrontTypes.Maybe<{
334
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
335
+ } | {
336
+ image?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
337
+ product: {
338
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
339
+ };
340
+ }>>;
341
+ };
342
+ export type GetProductRecommendationsByIdQueryVariables = StorefrontTypes.Exact<{
343
+ productId: StorefrontTypes.Scalars['ID']['input'];
344
+ intent?: StorefrontTypes.InputMaybe<StorefrontTypes.ProductRecommendationIntent>;
345
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
346
+ country: StorefrontTypes.CountryCode;
347
+ language: StorefrontTypes.LanguageCode;
348
+ }>;
349
+ export type GetProductRecommendationsByIdQuery = {
350
+ productRecommendations?: StorefrontTypes.Maybe<Array<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title'> & {
351
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
352
+ compareAtPriceRange: {
353
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
354
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
355
+ };
356
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
357
+ priceRange: {
358
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
359
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
360
+ };
361
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count'>>;
362
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
363
+ })>>;
364
+ };
365
+ export type GetProductRecommendationsByHandleQueryVariables = StorefrontTypes.Exact<{
366
+ handle: StorefrontTypes.Scalars['String']['input'];
367
+ intent?: StorefrontTypes.InputMaybe<StorefrontTypes.ProductRecommendationIntent>;
368
+ productMetafields: Array<StorefrontTypes.HasMetafieldsIdentifier> | StorefrontTypes.HasMetafieldsIdentifier;
369
+ country: StorefrontTypes.CountryCode;
370
+ language: StorefrontTypes.LanguageCode;
371
+ }>;
372
+ export type GetProductRecommendationsByHandleQuery = {
373
+ productRecommendations?: StorefrontTypes.Maybe<Array<(Pick<StorefrontTypes.Product, 'id' | 'availableForSale' | 'isGiftCard' | 'onlineStoreUrl' | 'description' | 'handle' | 'productType' | 'tags' | 'title'> & {
374
+ category?: StorefrontTypes.Maybe<Pick<StorefrontTypes.TaxonomyCategory, 'id' | 'name'>>;
375
+ compareAtPriceRange: {
376
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
377
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
378
+ };
379
+ featuredImage?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Image, 'id' | 'altText' | 'url' | 'thumbhash'>>;
380
+ priceRange: {
381
+ maxVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
382
+ minVariantPrice: Pick<StorefrontTypes.MoneyV2, 'amount' | 'currencyCode'>;
383
+ };
384
+ variantsCount?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Count, 'count'>>;
385
+ metafields: Array<StorefrontTypes.Maybe<Pick<StorefrontTypes.Metafield, 'key' | 'namespace' | 'value'>>>;
386
+ })>>;
387
+ };
388
+ export type GetProductIdByHandleQueryVariables = StorefrontTypes.Exact<{
389
+ handle: StorefrontTypes.Scalars['String']['input'];
390
+ }>;
391
+ export type GetProductIdByHandleQuery = {
392
+ product?: StorefrontTypes.Maybe<Pick<StorefrontTypes.Product, 'id'>>;
393
+ };
394
+ interface GeneratedQueryTypes {
395
+ "\n query GetProductCardData(\n $productId: ID!\n $productMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productCardDataFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
396
+ return: GetProductCardDataQuery;
397
+ variables: GetProductCardDataQueryVariables;
398
+ };
399
+ "\n query GetProductCardDataWithVariant(\n $productId: ID!\n $variantId: ID!\n $productMetafields: [HasMetafieldsIdentifier!]!\n $variantMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productCardDataFields\n }\n variant: node(id: $variantId) {\n ...productVariantDataFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productVariantDataFields on ProductVariant {\n id\n availableForSale\n compareAtPrice {\n amount\n currencyCode\n }\n currentlyNotInStock\n image {\n ...productImageFields\n }\n price {\n amount\n currencyCode\n }\n # quantityAvailable\n selectedOptions {\n name\n value\n }\n sku\n title\n metafields(identifiers: $variantMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
400
+ return: GetProductCardDataWithVariantQuery;
401
+ variables: GetProductCardDataWithVariantQueryVariables;
402
+ };
403
+ "\n query GetProductOptions(\n $productId: ID!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productOptionsFields\n }\n }\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
404
+ return: GetProductOptionsQuery;
405
+ variables: GetProductOptionsQueryVariables;
406
+ };
407
+ "\n query GetProductOptionsByHandle(\n $handle: String!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(handle: $handle) {\n ...productOptionsFields\n }\n }\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
408
+ return: GetProductOptionsByHandleQuery;
409
+ variables: GetProductOptionsByHandleQueryVariables;
410
+ };
411
+ "\n query GetProductOptionsWithVariant(\n $productId: ID!\n $variantId: ID!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productOptionsFields\n }\n variant: node(id: $variantId) {\n ...productOptionsVariantFields\n }\n }\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productOptionsVariantFields on ProductVariant {\n id\n selectedOptions {\n name\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
412
+ return: GetProductOptionsWithVariantQuery;
413
+ variables: GetProductOptionsWithVariantQueryVariables;
414
+ };
415
+ "\n query GetProductOptionsByHandleWithVariant(\n $handle: String!\n $variantId: ID!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(handle: $handle) {\n ...productOptionsFields\n }\n variant: node(id: $variantId) {\n ...productOptionsVariantFields\n }\n }\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productOptionsVariantFields on ProductVariant {\n id\n selectedOptions {\n name\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
416
+ return: GetProductOptionsByHandleWithVariantQuery;
417
+ variables: GetProductOptionsByHandleWithVariantQueryVariables;
418
+ };
419
+ "\n query GetSelectedVariant(\n $productId: ID!\n $selectedOptions: [SelectedOptionInput!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...selectedVariantFields\n }\n }\n \n fragment selectedVariantFields on Product {\n id\n title\n handle\n featuredImage {\n ...productImageFields\n }\n variantBySelectedOptions(selectedOptions: $selectedOptions) {\n id\n availableForSale\n compareAtPrice {\n amount\n currencyCode\n }\n currentlyNotInStock\n image {\n ...productImageFields\n }\n price {\n amount\n currencyCode\n }\n title\n selectedOptions {\n name\n value\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
420
+ return: GetSelectedVariantQuery;
421
+ variables: GetSelectedVariantQueryVariables;
422
+ };
423
+ "\n query GetSelectedVariantByHandle(\n $handle: String!\n $selectedOptions: [SelectedOptionInput!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(handle: $handle) {\n ...selectedVariantFields\n }\n }\n \n fragment selectedVariantFields on Product {\n id\n title\n handle\n featuredImage {\n ...productImageFields\n }\n variantBySelectedOptions(selectedOptions: $selectedOptions) {\n id\n availableForSale\n compareAtPrice {\n amount\n currencyCode\n }\n currentlyNotInStock\n image {\n ...productImageFields\n }\n price {\n amount\n currencyCode\n }\n title\n selectedOptions {\n name\n value\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
424
+ return: GetSelectedVariantByHandleQuery;
425
+ variables: GetSelectedVariantByHandleQueryVariables;
426
+ };
427
+ "\n query GetProductDetailData(\n $productId: ID!\n $productMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productCardDataFields\n ...productOptionsFields\n ...productImagesFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productImagesFields on Product {\n images(first: 20) {\n nodes {\n ...productImageFields\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
428
+ return: GetProductDetailDataQuery;
429
+ variables: GetProductDetailDataQueryVariables;
430
+ };
431
+ "\n query GetProductDetailDataWithVariant(\n $productId: ID!\n $variantId: ID!\n $productMetafields: [HasMetafieldsIdentifier!]!\n $variantMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n product(id: $productId) {\n ...productCardDataFields\n ...productOptionsFields\n ...productImagesFields\n }\n variant: node(id: $variantId) {\n ...productVariantDataFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productOptionsFields on Product {\n id\n title\n featuredImage {\n ...productImageFields\n }\n encodedVariantAvailability\n encodedVariantExistence\n variantsCount {\n count\n precision\n }\n options {\n id\n name\n optionValues {\n name\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n firstSelectableVariant {\n id\n image {\n ...productImageFields\n }\n }\n }\n }\n }\n\n \n fragment productVariantDataFields on ProductVariant {\n id\n availableForSale\n compareAtPrice {\n amount\n currencyCode\n }\n currentlyNotInStock\n image {\n ...productImageFields\n }\n price {\n amount\n currencyCode\n }\n # quantityAvailable\n selectedOptions {\n name\n value\n }\n sku\n title\n metafields(identifiers: $variantMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productImagesFields on Product {\n images(first: 20) {\n nodes {\n ...productImageFields\n }\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
432
+ return: GetProductDetailDataWithVariantQuery;
433
+ variables: GetProductDetailDataWithVariantQueryVariables;
434
+ };
435
+ "\n query GetProductImagesById(\n $ids: [ID!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n nodes(ids: $ids) {\n ... on Product {\n featuredImage {\n ...productImageFields\n }\n }\n ... on ProductVariant {\n image {\n ...productImageFields\n }\n product {\n featuredImage {\n ...productImageFields\n }\n }\n }\n }\n }\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
436
+ return: GetProductImagesByIdQuery;
437
+ variables: GetProductImagesByIdQueryVariables;
438
+ };
439
+ "\n query GetProductRecommendationsById(\n $productId: ID!\n $intent: ProductRecommendationIntent\n $productMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n productRecommendations(productId: $productId, intent: $intent) {\n ...productCardDataFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
440
+ return: GetProductRecommendationsByIdQuery;
441
+ variables: GetProductRecommendationsByIdQueryVariables;
442
+ };
443
+ "\n query GetProductRecommendationsByHandle(\n $handle: String!\n $intent: ProductRecommendationIntent\n $productMetafields: [HasMetafieldsIdentifier!]!\n $country: CountryCode!\n $language: LanguageCode!\n ) @inContext(country: $country, language: $language) {\n productRecommendations(productHandle: $handle, intent: $intent) {\n ...productCardDataFields\n }\n }\n \n fragment productCardDataFields on Product {\n id\n availableForSale\n category {\n id\n name\n }\n compareAtPriceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n ...productImageFields\n }\n isGiftCard\n onlineStoreUrl\n description\n handle\n priceRange {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n productType\n tags\n title\n variantsCount {\n count\n }\n # totalInventory\n metafields(identifiers: $productMetafields) {\n key\n namespace\n value\n }\n }\n\n \n fragment productImageFields on Image {\n id\n altText\n url\n thumbhash\n }\n\n": {
444
+ return: GetProductRecommendationsByHandleQuery;
445
+ variables: GetProductRecommendationsByHandleQueryVariables;
446
+ };
447
+ "\n query GetProductIdByHandle($handle: String!) {\n product(handle: $handle) {\n id\n }\n }\n": {
448
+ return: GetProductIdByHandleQuery;
449
+ variables: GetProductIdByHandleQueryVariables;
450
+ };
451
+ }
452
+ interface GeneratedMutationTypes {
453
+ }
454
+ declare module '@shopify/storefront-api-client' {
455
+ type InputMaybe<T> = StorefrontTypes.InputMaybe<T>;
456
+ interface StorefrontQueries extends GeneratedQueryTypes {
457
+ }
458
+ interface StorefrontMutations extends GeneratedMutationTypes {
459
+ }
460
+ }
461
+ export {};