hydrogen-forge 0.1.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 (118) hide show
  1. package/README.md +212 -0
  2. package/dist/commands/add.d.ts +7 -0
  3. package/dist/commands/add.d.ts.map +1 -0
  4. package/dist/commands/add.js +123 -0
  5. package/dist/commands/add.js.map +1 -0
  6. package/dist/commands/create.d.ts +8 -0
  7. package/dist/commands/create.d.ts.map +1 -0
  8. package/dist/commands/create.js +160 -0
  9. package/dist/commands/create.js.map +1 -0
  10. package/dist/commands/setup-mcp.d.ts +7 -0
  11. package/dist/commands/setup-mcp.d.ts.map +1 -0
  12. package/dist/commands/setup-mcp.js +179 -0
  13. package/dist/commands/setup-mcp.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +50 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/lib/generators.d.ts +6 -0
  19. package/dist/lib/generators.d.ts.map +1 -0
  20. package/dist/lib/generators.js +470 -0
  21. package/dist/lib/generators.js.map +1 -0
  22. package/dist/lib/utils.d.ts +17 -0
  23. package/dist/lib/utils.d.ts.map +1 -0
  24. package/dist/lib/utils.js +101 -0
  25. package/dist/lib/utils.js.map +1 -0
  26. package/package.json +54 -0
  27. package/templates/starter/.env.example +21 -0
  28. package/templates/starter/.graphqlrc.ts +27 -0
  29. package/templates/starter/README.md +117 -0
  30. package/templates/starter/app/assets/favicon.svg +28 -0
  31. package/templates/starter/app/components/AddToCartButton.tsx +102 -0
  32. package/templates/starter/app/components/Aside.tsx +136 -0
  33. package/templates/starter/app/components/CartLineItem.tsx +229 -0
  34. package/templates/starter/app/components/CartMain.tsx +131 -0
  35. package/templates/starter/app/components/CartSummary.tsx +315 -0
  36. package/templates/starter/app/components/CollectionFilters.tsx +330 -0
  37. package/templates/starter/app/components/CollectionGrid.tsx +141 -0
  38. package/templates/starter/app/components/Footer.tsx +218 -0
  39. package/templates/starter/app/components/Header.tsx +296 -0
  40. package/templates/starter/app/components/PageLayout.tsx +174 -0
  41. package/templates/starter/app/components/PaginatedResourceSection.tsx +41 -0
  42. package/templates/starter/app/components/ProductCard.tsx +151 -0
  43. package/templates/starter/app/components/ProductForm.tsx +156 -0
  44. package/templates/starter/app/components/ProductGallery.tsx +164 -0
  45. package/templates/starter/app/components/ProductGrid.tsx +64 -0
  46. package/templates/starter/app/components/ProductImage.tsx +23 -0
  47. package/templates/starter/app/components/ProductItem.tsx +44 -0
  48. package/templates/starter/app/components/ProductPrice.tsx +97 -0
  49. package/templates/starter/app/components/SearchDialog.tsx +599 -0
  50. package/templates/starter/app/components/SearchForm.tsx +68 -0
  51. package/templates/starter/app/components/SearchFormPredictive.tsx +76 -0
  52. package/templates/starter/app/components/SearchResults.tsx +161 -0
  53. package/templates/starter/app/components/SearchResultsPredictive.tsx +461 -0
  54. package/templates/starter/app/entry.client.tsx +21 -0
  55. package/templates/starter/app/entry.server.tsx +53 -0
  56. package/templates/starter/app/graphql/customer-account/CustomerAddressMutations.ts +64 -0
  57. package/templates/starter/app/graphql/customer-account/CustomerDetailsQuery.ts +40 -0
  58. package/templates/starter/app/graphql/customer-account/CustomerOrderQuery.ts +90 -0
  59. package/templates/starter/app/graphql/customer-account/CustomerOrdersQuery.ts +63 -0
  60. package/templates/starter/app/graphql/customer-account/CustomerUpdateMutation.ts +25 -0
  61. package/templates/starter/app/lib/context.ts +60 -0
  62. package/templates/starter/app/lib/fragments.ts +234 -0
  63. package/templates/starter/app/lib/orderFilters.ts +90 -0
  64. package/templates/starter/app/lib/redirect.ts +23 -0
  65. package/templates/starter/app/lib/search.ts +79 -0
  66. package/templates/starter/app/lib/session.ts +72 -0
  67. package/templates/starter/app/lib/variants.ts +46 -0
  68. package/templates/starter/app/root.tsx +209 -0
  69. package/templates/starter/app/routes/$.tsx +11 -0
  70. package/templates/starter/app/routes/[robots.txt].tsx +117 -0
  71. package/templates/starter/app/routes/[sitemap.xml].tsx +16 -0
  72. package/templates/starter/app/routes/_index.tsx +167 -0
  73. package/templates/starter/app/routes/account.$.tsx +9 -0
  74. package/templates/starter/app/routes/account._index.tsx +5 -0
  75. package/templates/starter/app/routes/account.addresses.tsx +516 -0
  76. package/templates/starter/app/routes/account.orders.$id.tsx +222 -0
  77. package/templates/starter/app/routes/account.orders._index.tsx +222 -0
  78. package/templates/starter/app/routes/account.profile.tsx +133 -0
  79. package/templates/starter/app/routes/account.tsx +97 -0
  80. package/templates/starter/app/routes/account_.authorize.tsx +5 -0
  81. package/templates/starter/app/routes/account_.login.tsx +7 -0
  82. package/templates/starter/app/routes/account_.logout.tsx +11 -0
  83. package/templates/starter/app/routes/api.$version.[graphql.json].tsx +14 -0
  84. package/templates/starter/app/routes/blogs.$blogHandle.$articleHandle.tsx +129 -0
  85. package/templates/starter/app/routes/blogs.$blogHandle._index.tsx +175 -0
  86. package/templates/starter/app/routes/blogs._index.tsx +109 -0
  87. package/templates/starter/app/routes/cart.$lines.tsx +70 -0
  88. package/templates/starter/app/routes/cart.tsx +117 -0
  89. package/templates/starter/app/routes/collections.$handle.tsx +161 -0
  90. package/templates/starter/app/routes/collections._index.tsx +133 -0
  91. package/templates/starter/app/routes/collections.all.tsx +122 -0
  92. package/templates/starter/app/routes/discount.$code.tsx +48 -0
  93. package/templates/starter/app/routes/pages.$handle.tsx +88 -0
  94. package/templates/starter/app/routes/policies.$handle.tsx +93 -0
  95. package/templates/starter/app/routes/policies._index.tsx +69 -0
  96. package/templates/starter/app/routes/products.$handle.tsx +232 -0
  97. package/templates/starter/app/routes/search.tsx +426 -0
  98. package/templates/starter/app/routes/sitemap.$type.$page[.xml].tsx +23 -0
  99. package/templates/starter/app/routes.ts +9 -0
  100. package/templates/starter/app/styles/app.css +574 -0
  101. package/templates/starter/app/styles/reset.css +139 -0
  102. package/templates/starter/app/styles/tailwind.css +116 -0
  103. package/templates/starter/customer-accountapi.generated.d.ts +543 -0
  104. package/templates/starter/env.d.ts +7 -0
  105. package/templates/starter/eslint.config.js +247 -0
  106. package/templates/starter/guides/predictiveSearch/predictiveSearch.jpg +0 -0
  107. package/templates/starter/guides/predictiveSearch/predictiveSearch.md +394 -0
  108. package/templates/starter/guides/search/search.jpg +0 -0
  109. package/templates/starter/guides/search/search.md +335 -0
  110. package/templates/starter/package.json +71 -0
  111. package/templates/starter/postcss.config.js +6 -0
  112. package/templates/starter/public/.gitkeep +0 -0
  113. package/templates/starter/react-router.config.ts +13 -0
  114. package/templates/starter/server.ts +59 -0
  115. package/templates/starter/storefrontapi.generated.d.ts +1264 -0
  116. package/templates/starter/tailwind.config.js +83 -0
  117. package/templates/starter/tsconfig.json +67 -0
  118. package/templates/starter/vite.config.ts +32 -0
@@ -0,0 +1,1264 @@
1
+ /* eslint-disable eslint-comments/disable-enable-pair */
2
+ /* eslint-disable eslint-comments/no-unlimited-disable */
3
+ /* eslint-disable */
4
+ import type * as StorefrontAPI from '@shopify/hydrogen/storefront-api-types';
5
+
6
+ export type MoneyFragment = Pick<
7
+ StorefrontAPI.MoneyV2,
8
+ 'currencyCode' | 'amount'
9
+ >;
10
+
11
+ export type CartLineFragment = Pick<
12
+ StorefrontAPI.CartLine,
13
+ 'id' | 'quantity'
14
+ > & {
15
+ attributes: Array<Pick<StorefrontAPI.Attribute, 'key' | 'value'>>;
16
+ cost: {
17
+ totalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
18
+ amountPerQuantity: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
19
+ compareAtAmountPerQuantity?: StorefrontAPI.Maybe<
20
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
21
+ >;
22
+ };
23
+ merchandise: Pick<
24
+ StorefrontAPI.ProductVariant,
25
+ 'id' | 'availableForSale' | 'requiresShipping' | 'title'
26
+ > & {
27
+ compareAtPrice?: StorefrontAPI.Maybe<
28
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
29
+ >;
30
+ price: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
31
+ image?: StorefrontAPI.Maybe<
32
+ Pick<StorefrontAPI.Image, 'id' | 'url' | 'altText' | 'width' | 'height'>
33
+ >;
34
+ product: Pick<StorefrontAPI.Product, 'handle' | 'title' | 'id' | 'vendor'>;
35
+ selectedOptions: Array<
36
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
37
+ >;
38
+ };
39
+ };
40
+
41
+ export type CartLineComponentFragment = Pick<
42
+ StorefrontAPI.ComponentizableCartLine,
43
+ 'id' | 'quantity'
44
+ > & {
45
+ attributes: Array<Pick<StorefrontAPI.Attribute, 'key' | 'value'>>;
46
+ cost: {
47
+ totalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
48
+ amountPerQuantity: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
49
+ compareAtAmountPerQuantity?: StorefrontAPI.Maybe<
50
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
51
+ >;
52
+ };
53
+ merchandise: Pick<
54
+ StorefrontAPI.ProductVariant,
55
+ 'id' | 'availableForSale' | 'requiresShipping' | 'title'
56
+ > & {
57
+ compareAtPrice?: StorefrontAPI.Maybe<
58
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
59
+ >;
60
+ price: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
61
+ image?: StorefrontAPI.Maybe<
62
+ Pick<StorefrontAPI.Image, 'id' | 'url' | 'altText' | 'width' | 'height'>
63
+ >;
64
+ product: Pick<StorefrontAPI.Product, 'handle' | 'title' | 'id' | 'vendor'>;
65
+ selectedOptions: Array<
66
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
67
+ >;
68
+ };
69
+ };
70
+
71
+ export type CartApiQueryFragment = Pick<
72
+ StorefrontAPI.Cart,
73
+ 'updatedAt' | 'id' | 'checkoutUrl' | 'totalQuantity' | 'note'
74
+ > & {
75
+ appliedGiftCards: Array<
76
+ Pick<StorefrontAPI.AppliedGiftCard, 'id' | 'lastCharacters'> & {
77
+ amountUsed: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
78
+ }
79
+ >;
80
+ buyerIdentity: Pick<
81
+ StorefrontAPI.CartBuyerIdentity,
82
+ 'countryCode' | 'email' | 'phone'
83
+ > & {
84
+ customer?: StorefrontAPI.Maybe<
85
+ Pick<
86
+ StorefrontAPI.Customer,
87
+ 'id' | 'email' | 'firstName' | 'lastName' | 'displayName'
88
+ >
89
+ >;
90
+ };
91
+ lines: {
92
+ nodes: Array<
93
+ | (Pick<StorefrontAPI.CartLine, 'id' | 'quantity'> & {
94
+ attributes: Array<Pick<StorefrontAPI.Attribute, 'key' | 'value'>>;
95
+ cost: {
96
+ totalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
97
+ amountPerQuantity: Pick<
98
+ StorefrontAPI.MoneyV2,
99
+ 'currencyCode' | 'amount'
100
+ >;
101
+ compareAtAmountPerQuantity?: StorefrontAPI.Maybe<
102
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
103
+ >;
104
+ };
105
+ merchandise: Pick<
106
+ StorefrontAPI.ProductVariant,
107
+ 'id' | 'availableForSale' | 'requiresShipping' | 'title'
108
+ > & {
109
+ compareAtPrice?: StorefrontAPI.Maybe<
110
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
111
+ >;
112
+ price: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
113
+ image?: StorefrontAPI.Maybe<
114
+ Pick<
115
+ StorefrontAPI.Image,
116
+ 'id' | 'url' | 'altText' | 'width' | 'height'
117
+ >
118
+ >;
119
+ product: Pick<
120
+ StorefrontAPI.Product,
121
+ 'handle' | 'title' | 'id' | 'vendor'
122
+ >;
123
+ selectedOptions: Array<
124
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
125
+ >;
126
+ };
127
+ })
128
+ | (Pick<StorefrontAPI.ComponentizableCartLine, 'id' | 'quantity'> & {
129
+ attributes: Array<Pick<StorefrontAPI.Attribute, 'key' | 'value'>>;
130
+ cost: {
131
+ totalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
132
+ amountPerQuantity: Pick<
133
+ StorefrontAPI.MoneyV2,
134
+ 'currencyCode' | 'amount'
135
+ >;
136
+ compareAtAmountPerQuantity?: StorefrontAPI.Maybe<
137
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
138
+ >;
139
+ };
140
+ merchandise: Pick<
141
+ StorefrontAPI.ProductVariant,
142
+ 'id' | 'availableForSale' | 'requiresShipping' | 'title'
143
+ > & {
144
+ compareAtPrice?: StorefrontAPI.Maybe<
145
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
146
+ >;
147
+ price: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
148
+ image?: StorefrontAPI.Maybe<
149
+ Pick<
150
+ StorefrontAPI.Image,
151
+ 'id' | 'url' | 'altText' | 'width' | 'height'
152
+ >
153
+ >;
154
+ product: Pick<
155
+ StorefrontAPI.Product,
156
+ 'handle' | 'title' | 'id' | 'vendor'
157
+ >;
158
+ selectedOptions: Array<
159
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
160
+ >;
161
+ };
162
+ })
163
+ >;
164
+ };
165
+ cost: {
166
+ subtotalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
167
+ totalAmount: Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>;
168
+ totalDutyAmount?: StorefrontAPI.Maybe<
169
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
170
+ >;
171
+ totalTaxAmount?: StorefrontAPI.Maybe<
172
+ Pick<StorefrontAPI.MoneyV2, 'currencyCode' | 'amount'>
173
+ >;
174
+ };
175
+ attributes: Array<Pick<StorefrontAPI.Attribute, 'key' | 'value'>>;
176
+ discountCodes: Array<
177
+ Pick<StorefrontAPI.CartDiscountCode, 'code' | 'applicable'>
178
+ >;
179
+ };
180
+
181
+ export type MenuItemFragment = Pick<
182
+ StorefrontAPI.MenuItem,
183
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
184
+ >;
185
+
186
+ export type ChildMenuItemFragment = Pick<
187
+ StorefrontAPI.MenuItem,
188
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
189
+ >;
190
+
191
+ export type ParentMenuItemFragment = Pick<
192
+ StorefrontAPI.MenuItem,
193
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
194
+ > & {
195
+ items: Array<
196
+ Pick<
197
+ StorefrontAPI.MenuItem,
198
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
199
+ >
200
+ >;
201
+ };
202
+
203
+ export type MenuFragment = Pick<StorefrontAPI.Menu, 'id'> & {
204
+ items: Array<
205
+ Pick<
206
+ StorefrontAPI.MenuItem,
207
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
208
+ > & {
209
+ items: Array<
210
+ Pick<
211
+ StorefrontAPI.MenuItem,
212
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
213
+ >
214
+ >;
215
+ }
216
+ >;
217
+ };
218
+
219
+ export type ShopFragment = Pick<
220
+ StorefrontAPI.Shop,
221
+ 'id' | 'name' | 'description'
222
+ > & {
223
+ primaryDomain: Pick<StorefrontAPI.Domain, 'url'>;
224
+ brand?: StorefrontAPI.Maybe<{
225
+ logo?: StorefrontAPI.Maybe<{
226
+ image?: StorefrontAPI.Maybe<Pick<StorefrontAPI.Image, 'url'>>;
227
+ }>;
228
+ }>;
229
+ };
230
+
231
+ export type HeaderQueryVariables = StorefrontAPI.Exact<{
232
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
233
+ headerMenuHandle: StorefrontAPI.Scalars['String']['input'];
234
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
235
+ }>;
236
+
237
+ export type HeaderQuery = {
238
+ shop: Pick<StorefrontAPI.Shop, 'id' | 'name' | 'description'> & {
239
+ primaryDomain: Pick<StorefrontAPI.Domain, 'url'>;
240
+ brand?: StorefrontAPI.Maybe<{
241
+ logo?: StorefrontAPI.Maybe<{
242
+ image?: StorefrontAPI.Maybe<Pick<StorefrontAPI.Image, 'url'>>;
243
+ }>;
244
+ }>;
245
+ };
246
+ menu?: StorefrontAPI.Maybe<
247
+ Pick<StorefrontAPI.Menu, 'id'> & {
248
+ items: Array<
249
+ Pick<
250
+ StorefrontAPI.MenuItem,
251
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
252
+ > & {
253
+ items: Array<
254
+ Pick<
255
+ StorefrontAPI.MenuItem,
256
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
257
+ >
258
+ >;
259
+ }
260
+ >;
261
+ }
262
+ >;
263
+ };
264
+
265
+ export type FooterQueryVariables = StorefrontAPI.Exact<{
266
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
267
+ footerMenuHandle: StorefrontAPI.Scalars['String']['input'];
268
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
269
+ }>;
270
+
271
+ export type FooterQuery = {
272
+ menu?: StorefrontAPI.Maybe<
273
+ Pick<StorefrontAPI.Menu, 'id'> & {
274
+ items: Array<
275
+ Pick<
276
+ StorefrontAPI.MenuItem,
277
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
278
+ > & {
279
+ items: Array<
280
+ Pick<
281
+ StorefrontAPI.MenuItem,
282
+ 'id' | 'resourceId' | 'tags' | 'title' | 'type' | 'url'
283
+ >
284
+ >;
285
+ }
286
+ >;
287
+ }
288
+ >;
289
+ };
290
+
291
+ export type StoreRobotsQueryVariables = StorefrontAPI.Exact<{
292
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
293
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
294
+ }>;
295
+
296
+ export type StoreRobotsQuery = {shop: Pick<StorefrontAPI.Shop, 'id'>};
297
+
298
+ export type FeaturedCollectionFragment = Pick<
299
+ StorefrontAPI.Collection,
300
+ 'id' | 'title' | 'handle'
301
+ > & {
302
+ image?: StorefrontAPI.Maybe<
303
+ Pick<StorefrontAPI.Image, 'id' | 'url' | 'altText' | 'width' | 'height'>
304
+ >;
305
+ };
306
+
307
+ export type FeaturedCollectionQueryVariables = StorefrontAPI.Exact<{
308
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
309
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
310
+ }>;
311
+
312
+ export type FeaturedCollectionQuery = {
313
+ collections: {
314
+ nodes: Array<
315
+ Pick<StorefrontAPI.Collection, 'id' | 'title' | 'handle'> & {
316
+ image?: StorefrontAPI.Maybe<
317
+ Pick<
318
+ StorefrontAPI.Image,
319
+ 'id' | 'url' | 'altText' | 'width' | 'height'
320
+ >
321
+ >;
322
+ }
323
+ >;
324
+ };
325
+ };
326
+
327
+ export type RecommendedProductFragment = Pick<
328
+ StorefrontAPI.Product,
329
+ 'id' | 'title' | 'handle'
330
+ > & {
331
+ priceRange: {
332
+ minVariantPrice: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
333
+ };
334
+ featuredImage?: StorefrontAPI.Maybe<
335
+ Pick<StorefrontAPI.Image, 'id' | 'url' | 'altText' | 'width' | 'height'>
336
+ >;
337
+ };
338
+
339
+ export type RecommendedProductsQueryVariables = StorefrontAPI.Exact<{
340
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
341
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
342
+ }>;
343
+
344
+ export type RecommendedProductsQuery = {
345
+ products: {
346
+ nodes: Array<
347
+ Pick<StorefrontAPI.Product, 'id' | 'title' | 'handle'> & {
348
+ priceRange: {
349
+ minVariantPrice: Pick<
350
+ StorefrontAPI.MoneyV2,
351
+ 'amount' | 'currencyCode'
352
+ >;
353
+ };
354
+ featuredImage?: StorefrontAPI.Maybe<
355
+ Pick<
356
+ StorefrontAPI.Image,
357
+ 'id' | 'url' | 'altText' | 'width' | 'height'
358
+ >
359
+ >;
360
+ }
361
+ >;
362
+ };
363
+ };
364
+
365
+ export type ArticleQueryVariables = StorefrontAPI.Exact<{
366
+ articleHandle: StorefrontAPI.Scalars['String']['input'];
367
+ blogHandle: StorefrontAPI.Scalars['String']['input'];
368
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
369
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
370
+ }>;
371
+
372
+ export type ArticleQuery = {
373
+ blog?: StorefrontAPI.Maybe<
374
+ Pick<StorefrontAPI.Blog, 'handle'> & {
375
+ articleByHandle?: StorefrontAPI.Maybe<
376
+ Pick<
377
+ StorefrontAPI.Article,
378
+ 'handle' | 'title' | 'contentHtml' | 'publishedAt'
379
+ > & {
380
+ author?: StorefrontAPI.Maybe<
381
+ Pick<StorefrontAPI.ArticleAuthor, 'name'>
382
+ >;
383
+ image?: StorefrontAPI.Maybe<
384
+ Pick<
385
+ StorefrontAPI.Image,
386
+ 'id' | 'altText' | 'url' | 'width' | 'height'
387
+ >
388
+ >;
389
+ seo?: StorefrontAPI.Maybe<
390
+ Pick<StorefrontAPI.Seo, 'description' | 'title'>
391
+ >;
392
+ }
393
+ >;
394
+ }
395
+ >;
396
+ };
397
+
398
+ export type BlogQueryVariables = StorefrontAPI.Exact<{
399
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
400
+ blogHandle: StorefrontAPI.Scalars['String']['input'];
401
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
402
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
403
+ startCursor?: StorefrontAPI.InputMaybe<
404
+ StorefrontAPI.Scalars['String']['input']
405
+ >;
406
+ endCursor?: StorefrontAPI.InputMaybe<
407
+ StorefrontAPI.Scalars['String']['input']
408
+ >;
409
+ }>;
410
+
411
+ export type BlogQuery = {
412
+ blog?: StorefrontAPI.Maybe<
413
+ Pick<StorefrontAPI.Blog, 'title' | 'handle'> & {
414
+ seo?: StorefrontAPI.Maybe<
415
+ Pick<StorefrontAPI.Seo, 'title' | 'description'>
416
+ >;
417
+ articles: {
418
+ nodes: Array<
419
+ Pick<
420
+ StorefrontAPI.Article,
421
+ 'contentHtml' | 'handle' | 'id' | 'publishedAt' | 'title'
422
+ > & {
423
+ author?: StorefrontAPI.Maybe<
424
+ Pick<StorefrontAPI.ArticleAuthor, 'name'>
425
+ >;
426
+ image?: StorefrontAPI.Maybe<
427
+ Pick<
428
+ StorefrontAPI.Image,
429
+ 'id' | 'altText' | 'url' | 'width' | 'height'
430
+ >
431
+ >;
432
+ blog: Pick<StorefrontAPI.Blog, 'handle'>;
433
+ }
434
+ >;
435
+ pageInfo: Pick<
436
+ StorefrontAPI.PageInfo,
437
+ 'hasPreviousPage' | 'hasNextPage' | 'endCursor' | 'startCursor'
438
+ >;
439
+ };
440
+ }
441
+ >;
442
+ };
443
+
444
+ export type ArticleItemFragment = Pick<
445
+ StorefrontAPI.Article,
446
+ 'contentHtml' | 'handle' | 'id' | 'publishedAt' | 'title'
447
+ > & {
448
+ author?: StorefrontAPI.Maybe<Pick<StorefrontAPI.ArticleAuthor, 'name'>>;
449
+ image?: StorefrontAPI.Maybe<
450
+ Pick<StorefrontAPI.Image, 'id' | 'altText' | 'url' | 'width' | 'height'>
451
+ >;
452
+ blog: Pick<StorefrontAPI.Blog, 'handle'>;
453
+ };
454
+
455
+ export type BlogsQueryVariables = StorefrontAPI.Exact<{
456
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
457
+ endCursor?: StorefrontAPI.InputMaybe<
458
+ StorefrontAPI.Scalars['String']['input']
459
+ >;
460
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
461
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
462
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
463
+ startCursor?: StorefrontAPI.InputMaybe<
464
+ StorefrontAPI.Scalars['String']['input']
465
+ >;
466
+ }>;
467
+
468
+ export type BlogsQuery = {
469
+ blogs: {
470
+ pageInfo: Pick<
471
+ StorefrontAPI.PageInfo,
472
+ 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'
473
+ >;
474
+ nodes: Array<
475
+ Pick<StorefrontAPI.Blog, 'title' | 'handle'> & {
476
+ seo?: StorefrontAPI.Maybe<
477
+ Pick<StorefrontAPI.Seo, 'title' | 'description'>
478
+ >;
479
+ }
480
+ >;
481
+ };
482
+ };
483
+
484
+ export type MoneyProductItemFragment = Pick<
485
+ StorefrontAPI.MoneyV2,
486
+ 'amount' | 'currencyCode'
487
+ >;
488
+
489
+ export type ProductItemFragment = Pick<
490
+ StorefrontAPI.Product,
491
+ 'id' | 'handle' | 'title'
492
+ > & {
493
+ featuredImage?: StorefrontAPI.Maybe<
494
+ Pick<StorefrontAPI.Image, 'id' | 'altText' | 'url' | 'width' | 'height'>
495
+ >;
496
+ priceRange: {
497
+ minVariantPrice: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
498
+ maxVariantPrice: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
499
+ };
500
+ };
501
+
502
+ export type CollectionQueryVariables = StorefrontAPI.Exact<{
503
+ handle: StorefrontAPI.Scalars['String']['input'];
504
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
505
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
506
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
507
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
508
+ startCursor?: StorefrontAPI.InputMaybe<
509
+ StorefrontAPI.Scalars['String']['input']
510
+ >;
511
+ endCursor?: StorefrontAPI.InputMaybe<
512
+ StorefrontAPI.Scalars['String']['input']
513
+ >;
514
+ }>;
515
+
516
+ export type CollectionQuery = {
517
+ collection?: StorefrontAPI.Maybe<
518
+ Pick<
519
+ StorefrontAPI.Collection,
520
+ 'id' | 'handle' | 'title' | 'description'
521
+ > & {
522
+ products: {
523
+ nodes: Array<
524
+ Pick<StorefrontAPI.Product, 'id' | 'handle' | 'title'> & {
525
+ featuredImage?: StorefrontAPI.Maybe<
526
+ Pick<
527
+ StorefrontAPI.Image,
528
+ 'id' | 'altText' | 'url' | 'width' | 'height'
529
+ >
530
+ >;
531
+ priceRange: {
532
+ minVariantPrice: Pick<
533
+ StorefrontAPI.MoneyV2,
534
+ 'amount' | 'currencyCode'
535
+ >;
536
+ maxVariantPrice: Pick<
537
+ StorefrontAPI.MoneyV2,
538
+ 'amount' | 'currencyCode'
539
+ >;
540
+ };
541
+ }
542
+ >;
543
+ pageInfo: Pick<
544
+ StorefrontAPI.PageInfo,
545
+ 'hasPreviousPage' | 'hasNextPage' | 'endCursor' | 'startCursor'
546
+ >;
547
+ };
548
+ }
549
+ >;
550
+ };
551
+
552
+ export type CollectionFragment = Pick<
553
+ StorefrontAPI.Collection,
554
+ 'id' | 'title' | 'handle'
555
+ > & {
556
+ image?: StorefrontAPI.Maybe<
557
+ Pick<StorefrontAPI.Image, 'id' | 'url' | 'altText' | 'width' | 'height'>
558
+ >;
559
+ };
560
+
561
+ export type StoreCollectionsQueryVariables = StorefrontAPI.Exact<{
562
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
563
+ endCursor?: StorefrontAPI.InputMaybe<
564
+ StorefrontAPI.Scalars['String']['input']
565
+ >;
566
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
567
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
568
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
569
+ startCursor?: StorefrontAPI.InputMaybe<
570
+ StorefrontAPI.Scalars['String']['input']
571
+ >;
572
+ }>;
573
+
574
+ export type StoreCollectionsQuery = {
575
+ collections: {
576
+ nodes: Array<
577
+ Pick<StorefrontAPI.Collection, 'id' | 'title' | 'handle'> & {
578
+ image?: StorefrontAPI.Maybe<
579
+ Pick<
580
+ StorefrontAPI.Image,
581
+ 'id' | 'url' | 'altText' | 'width' | 'height'
582
+ >
583
+ >;
584
+ }
585
+ >;
586
+ pageInfo: Pick<
587
+ StorefrontAPI.PageInfo,
588
+ 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'
589
+ >;
590
+ };
591
+ };
592
+
593
+ export type MoneyCollectionItemFragment = Pick<
594
+ StorefrontAPI.MoneyV2,
595
+ 'amount' | 'currencyCode'
596
+ >;
597
+
598
+ export type CollectionItemFragment = Pick<
599
+ StorefrontAPI.Product,
600
+ 'id' | 'handle' | 'title'
601
+ > & {
602
+ featuredImage?: StorefrontAPI.Maybe<
603
+ Pick<StorefrontAPI.Image, 'id' | 'altText' | 'url' | 'width' | 'height'>
604
+ >;
605
+ priceRange: {
606
+ minVariantPrice: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
607
+ maxVariantPrice: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
608
+ };
609
+ };
610
+
611
+ export type CatalogQueryVariables = StorefrontAPI.Exact<{
612
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
613
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
614
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
615
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
616
+ startCursor?: StorefrontAPI.InputMaybe<
617
+ StorefrontAPI.Scalars['String']['input']
618
+ >;
619
+ endCursor?: StorefrontAPI.InputMaybe<
620
+ StorefrontAPI.Scalars['String']['input']
621
+ >;
622
+ }>;
623
+
624
+ export type CatalogQuery = {
625
+ products: {
626
+ nodes: Array<
627
+ Pick<StorefrontAPI.Product, 'id' | 'handle' | 'title'> & {
628
+ featuredImage?: StorefrontAPI.Maybe<
629
+ Pick<
630
+ StorefrontAPI.Image,
631
+ 'id' | 'altText' | 'url' | 'width' | 'height'
632
+ >
633
+ >;
634
+ priceRange: {
635
+ minVariantPrice: Pick<
636
+ StorefrontAPI.MoneyV2,
637
+ 'amount' | 'currencyCode'
638
+ >;
639
+ maxVariantPrice: Pick<
640
+ StorefrontAPI.MoneyV2,
641
+ 'amount' | 'currencyCode'
642
+ >;
643
+ };
644
+ }
645
+ >;
646
+ pageInfo: Pick<
647
+ StorefrontAPI.PageInfo,
648
+ 'hasPreviousPage' | 'hasNextPage' | 'startCursor' | 'endCursor'
649
+ >;
650
+ };
651
+ };
652
+
653
+ export type PageQueryVariables = StorefrontAPI.Exact<{
654
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
655
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
656
+ handle: StorefrontAPI.Scalars['String']['input'];
657
+ }>;
658
+
659
+ export type PageQuery = {
660
+ page?: StorefrontAPI.Maybe<
661
+ Pick<StorefrontAPI.Page, 'handle' | 'id' | 'title' | 'body'> & {
662
+ seo?: StorefrontAPI.Maybe<
663
+ Pick<StorefrontAPI.Seo, 'description' | 'title'>
664
+ >;
665
+ }
666
+ >;
667
+ };
668
+
669
+ export type PolicyFragment = Pick<
670
+ StorefrontAPI.ShopPolicy,
671
+ 'body' | 'handle' | 'id' | 'title' | 'url'
672
+ >;
673
+
674
+ export type PolicyQueryVariables = StorefrontAPI.Exact<{
675
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
676
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
677
+ privacyPolicy: StorefrontAPI.Scalars['Boolean']['input'];
678
+ refundPolicy: StorefrontAPI.Scalars['Boolean']['input'];
679
+ shippingPolicy: StorefrontAPI.Scalars['Boolean']['input'];
680
+ termsOfService: StorefrontAPI.Scalars['Boolean']['input'];
681
+ }>;
682
+
683
+ export type PolicyQuery = {
684
+ shop: {
685
+ privacyPolicy?: StorefrontAPI.Maybe<
686
+ Pick<StorefrontAPI.ShopPolicy, 'body' | 'handle' | 'id' | 'title' | 'url'>
687
+ >;
688
+ shippingPolicy?: StorefrontAPI.Maybe<
689
+ Pick<StorefrontAPI.ShopPolicy, 'body' | 'handle' | 'id' | 'title' | 'url'>
690
+ >;
691
+ termsOfService?: StorefrontAPI.Maybe<
692
+ Pick<StorefrontAPI.ShopPolicy, 'body' | 'handle' | 'id' | 'title' | 'url'>
693
+ >;
694
+ refundPolicy?: StorefrontAPI.Maybe<
695
+ Pick<StorefrontAPI.ShopPolicy, 'body' | 'handle' | 'id' | 'title' | 'url'>
696
+ >;
697
+ };
698
+ };
699
+
700
+ export type PolicyItemFragment = Pick<
701
+ StorefrontAPI.ShopPolicy,
702
+ 'id' | 'title' | 'handle'
703
+ >;
704
+
705
+ export type PoliciesQueryVariables = StorefrontAPI.Exact<{
706
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
707
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
708
+ }>;
709
+
710
+ export type PoliciesQuery = {
711
+ shop: {
712
+ privacyPolicy?: StorefrontAPI.Maybe<
713
+ Pick<StorefrontAPI.ShopPolicy, 'id' | 'title' | 'handle'>
714
+ >;
715
+ shippingPolicy?: StorefrontAPI.Maybe<
716
+ Pick<StorefrontAPI.ShopPolicy, 'id' | 'title' | 'handle'>
717
+ >;
718
+ termsOfService?: StorefrontAPI.Maybe<
719
+ Pick<StorefrontAPI.ShopPolicy, 'id' | 'title' | 'handle'>
720
+ >;
721
+ refundPolicy?: StorefrontAPI.Maybe<
722
+ Pick<StorefrontAPI.ShopPolicy, 'id' | 'title' | 'handle'>
723
+ >;
724
+ subscriptionPolicy?: StorefrontAPI.Maybe<
725
+ Pick<StorefrontAPI.ShopPolicyWithDefault, 'id' | 'title' | 'handle'>
726
+ >;
727
+ };
728
+ };
729
+
730
+ export type ProductVariantFragment = Pick<
731
+ StorefrontAPI.ProductVariant,
732
+ 'availableForSale' | 'id' | 'sku' | 'title'
733
+ > & {
734
+ compareAtPrice?: StorefrontAPI.Maybe<
735
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
736
+ >;
737
+ image?: StorefrontAPI.Maybe<
738
+ {__typename: 'Image'} & Pick<
739
+ StorefrontAPI.Image,
740
+ 'id' | 'url' | 'altText' | 'width' | 'height'
741
+ >
742
+ >;
743
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
744
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
745
+ selectedOptions: Array<Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>>;
746
+ unitPrice?: StorefrontAPI.Maybe<
747
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
748
+ >;
749
+ };
750
+
751
+ export type ProductFragment = Pick<
752
+ StorefrontAPI.Product,
753
+ | 'id'
754
+ | 'title'
755
+ | 'vendor'
756
+ | 'handle'
757
+ | 'descriptionHtml'
758
+ | 'description'
759
+ | 'encodedVariantExistence'
760
+ | 'encodedVariantAvailability'
761
+ > & {
762
+ options: Array<
763
+ Pick<StorefrontAPI.ProductOption, 'name'> & {
764
+ optionValues: Array<
765
+ Pick<StorefrontAPI.ProductOptionValue, 'name'> & {
766
+ firstSelectableVariant?: StorefrontAPI.Maybe<
767
+ Pick<
768
+ StorefrontAPI.ProductVariant,
769
+ 'availableForSale' | 'id' | 'sku' | 'title'
770
+ > & {
771
+ compareAtPrice?: StorefrontAPI.Maybe<
772
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
773
+ >;
774
+ image?: StorefrontAPI.Maybe<
775
+ {__typename: 'Image'} & Pick<
776
+ StorefrontAPI.Image,
777
+ 'id' | 'url' | 'altText' | 'width' | 'height'
778
+ >
779
+ >;
780
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
781
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
782
+ selectedOptions: Array<
783
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
784
+ >;
785
+ unitPrice?: StorefrontAPI.Maybe<
786
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
787
+ >;
788
+ }
789
+ >;
790
+ swatch?: StorefrontAPI.Maybe<
791
+ Pick<StorefrontAPI.ProductOptionValueSwatch, 'color'> & {
792
+ image?: StorefrontAPI.Maybe<{
793
+ previewImage?: StorefrontAPI.Maybe<
794
+ Pick<StorefrontAPI.Image, 'url'>
795
+ >;
796
+ }>;
797
+ }
798
+ >;
799
+ }
800
+ >;
801
+ }
802
+ >;
803
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
804
+ Pick<
805
+ StorefrontAPI.ProductVariant,
806
+ 'availableForSale' | 'id' | 'sku' | 'title'
807
+ > & {
808
+ compareAtPrice?: StorefrontAPI.Maybe<
809
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
810
+ >;
811
+ image?: StorefrontAPI.Maybe<
812
+ {__typename: 'Image'} & Pick<
813
+ StorefrontAPI.Image,
814
+ 'id' | 'url' | 'altText' | 'width' | 'height'
815
+ >
816
+ >;
817
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
818
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
819
+ selectedOptions: Array<
820
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
821
+ >;
822
+ unitPrice?: StorefrontAPI.Maybe<
823
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
824
+ >;
825
+ }
826
+ >;
827
+ adjacentVariants: Array<
828
+ Pick<
829
+ StorefrontAPI.ProductVariant,
830
+ 'availableForSale' | 'id' | 'sku' | 'title'
831
+ > & {
832
+ compareAtPrice?: StorefrontAPI.Maybe<
833
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
834
+ >;
835
+ image?: StorefrontAPI.Maybe<
836
+ {__typename: 'Image'} & Pick<
837
+ StorefrontAPI.Image,
838
+ 'id' | 'url' | 'altText' | 'width' | 'height'
839
+ >
840
+ >;
841
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
842
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
843
+ selectedOptions: Array<
844
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
845
+ >;
846
+ unitPrice?: StorefrontAPI.Maybe<
847
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
848
+ >;
849
+ }
850
+ >;
851
+ seo: Pick<StorefrontAPI.Seo, 'description' | 'title'>;
852
+ };
853
+
854
+ export type ProductQueryVariables = StorefrontAPI.Exact<{
855
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
856
+ handle: StorefrontAPI.Scalars['String']['input'];
857
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
858
+ selectedOptions:
859
+ | Array<StorefrontAPI.SelectedOptionInput>
860
+ | StorefrontAPI.SelectedOptionInput;
861
+ }>;
862
+
863
+ export type ProductQuery = {
864
+ product?: StorefrontAPI.Maybe<
865
+ Pick<
866
+ StorefrontAPI.Product,
867
+ | 'id'
868
+ | 'title'
869
+ | 'vendor'
870
+ | 'handle'
871
+ | 'descriptionHtml'
872
+ | 'description'
873
+ | 'encodedVariantExistence'
874
+ | 'encodedVariantAvailability'
875
+ > & {
876
+ options: Array<
877
+ Pick<StorefrontAPI.ProductOption, 'name'> & {
878
+ optionValues: Array<
879
+ Pick<StorefrontAPI.ProductOptionValue, 'name'> & {
880
+ firstSelectableVariant?: StorefrontAPI.Maybe<
881
+ Pick<
882
+ StorefrontAPI.ProductVariant,
883
+ 'availableForSale' | 'id' | 'sku' | 'title'
884
+ > & {
885
+ compareAtPrice?: StorefrontAPI.Maybe<
886
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
887
+ >;
888
+ image?: StorefrontAPI.Maybe<
889
+ {__typename: 'Image'} & Pick<
890
+ StorefrontAPI.Image,
891
+ 'id' | 'url' | 'altText' | 'width' | 'height'
892
+ >
893
+ >;
894
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
895
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
896
+ selectedOptions: Array<
897
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
898
+ >;
899
+ unitPrice?: StorefrontAPI.Maybe<
900
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
901
+ >;
902
+ }
903
+ >;
904
+ swatch?: StorefrontAPI.Maybe<
905
+ Pick<StorefrontAPI.ProductOptionValueSwatch, 'color'> & {
906
+ image?: StorefrontAPI.Maybe<{
907
+ previewImage?: StorefrontAPI.Maybe<
908
+ Pick<StorefrontAPI.Image, 'url'>
909
+ >;
910
+ }>;
911
+ }
912
+ >;
913
+ }
914
+ >;
915
+ }
916
+ >;
917
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
918
+ Pick<
919
+ StorefrontAPI.ProductVariant,
920
+ 'availableForSale' | 'id' | 'sku' | 'title'
921
+ > & {
922
+ compareAtPrice?: StorefrontAPI.Maybe<
923
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
924
+ >;
925
+ image?: StorefrontAPI.Maybe<
926
+ {__typename: 'Image'} & Pick<
927
+ StorefrontAPI.Image,
928
+ 'id' | 'url' | 'altText' | 'width' | 'height'
929
+ >
930
+ >;
931
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
932
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
933
+ selectedOptions: Array<
934
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
935
+ >;
936
+ unitPrice?: StorefrontAPI.Maybe<
937
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
938
+ >;
939
+ }
940
+ >;
941
+ adjacentVariants: Array<
942
+ Pick<
943
+ StorefrontAPI.ProductVariant,
944
+ 'availableForSale' | 'id' | 'sku' | 'title'
945
+ > & {
946
+ compareAtPrice?: StorefrontAPI.Maybe<
947
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
948
+ >;
949
+ image?: StorefrontAPI.Maybe<
950
+ {__typename: 'Image'} & Pick<
951
+ StorefrontAPI.Image,
952
+ 'id' | 'url' | 'altText' | 'width' | 'height'
953
+ >
954
+ >;
955
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
956
+ product: Pick<StorefrontAPI.Product, 'title' | 'handle'>;
957
+ selectedOptions: Array<
958
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
959
+ >;
960
+ unitPrice?: StorefrontAPI.Maybe<
961
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
962
+ >;
963
+ }
964
+ >;
965
+ seo: Pick<StorefrontAPI.Seo, 'description' | 'title'>;
966
+ }
967
+ >;
968
+ };
969
+
970
+ export type SearchProductFragment = {__typename: 'Product'} & Pick<
971
+ StorefrontAPI.Product,
972
+ 'handle' | 'id' | 'publishedAt' | 'title' | 'trackingParameters' | 'vendor'
973
+ > & {
974
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
975
+ Pick<StorefrontAPI.ProductVariant, 'id'> & {
976
+ image?: StorefrontAPI.Maybe<
977
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
978
+ >;
979
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
980
+ compareAtPrice?: StorefrontAPI.Maybe<
981
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
982
+ >;
983
+ selectedOptions: Array<
984
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
985
+ >;
986
+ product: Pick<StorefrontAPI.Product, 'handle' | 'title'>;
987
+ }
988
+ >;
989
+ };
990
+
991
+ export type SearchPageFragment = {__typename: 'Page'} & Pick<
992
+ StorefrontAPI.Page,
993
+ 'handle' | 'id' | 'title' | 'trackingParameters'
994
+ >;
995
+
996
+ export type SearchArticleFragment = {__typename: 'Article'} & Pick<
997
+ StorefrontAPI.Article,
998
+ 'handle' | 'id' | 'title' | 'trackingParameters'
999
+ >;
1000
+
1001
+ export type PageInfoFragmentFragment = Pick<
1002
+ StorefrontAPI.PageInfo,
1003
+ 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'
1004
+ >;
1005
+
1006
+ export type RegularSearchQueryVariables = StorefrontAPI.Exact<{
1007
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
1008
+ endCursor?: StorefrontAPI.InputMaybe<
1009
+ StorefrontAPI.Scalars['String']['input']
1010
+ >;
1011
+ first?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
1012
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
1013
+ last?: StorefrontAPI.InputMaybe<StorefrontAPI.Scalars['Int']['input']>;
1014
+ term: StorefrontAPI.Scalars['String']['input'];
1015
+ startCursor?: StorefrontAPI.InputMaybe<
1016
+ StorefrontAPI.Scalars['String']['input']
1017
+ >;
1018
+ }>;
1019
+
1020
+ export type RegularSearchQuery = {
1021
+ articles: {
1022
+ nodes: Array<
1023
+ {__typename: 'Article'} & Pick<
1024
+ StorefrontAPI.Article,
1025
+ 'handle' | 'id' | 'title' | 'trackingParameters'
1026
+ >
1027
+ >;
1028
+ };
1029
+ pages: {
1030
+ nodes: Array<
1031
+ {__typename: 'Page'} & Pick<
1032
+ StorefrontAPI.Page,
1033
+ 'handle' | 'id' | 'title' | 'trackingParameters'
1034
+ >
1035
+ >;
1036
+ };
1037
+ products: {
1038
+ nodes: Array<
1039
+ {__typename: 'Product'} & Pick<
1040
+ StorefrontAPI.Product,
1041
+ | 'handle'
1042
+ | 'id'
1043
+ | 'publishedAt'
1044
+ | 'title'
1045
+ | 'trackingParameters'
1046
+ | 'vendor'
1047
+ > & {
1048
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
1049
+ Pick<StorefrontAPI.ProductVariant, 'id'> & {
1050
+ image?: StorefrontAPI.Maybe<
1051
+ Pick<
1052
+ StorefrontAPI.Image,
1053
+ 'url' | 'altText' | 'width' | 'height'
1054
+ >
1055
+ >;
1056
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
1057
+ compareAtPrice?: StorefrontAPI.Maybe<
1058
+ Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>
1059
+ >;
1060
+ selectedOptions: Array<
1061
+ Pick<StorefrontAPI.SelectedOption, 'name' | 'value'>
1062
+ >;
1063
+ product: Pick<StorefrontAPI.Product, 'handle' | 'title'>;
1064
+ }
1065
+ >;
1066
+ }
1067
+ >;
1068
+ pageInfo: Pick<
1069
+ StorefrontAPI.PageInfo,
1070
+ 'hasNextPage' | 'hasPreviousPage' | 'startCursor' | 'endCursor'
1071
+ >;
1072
+ };
1073
+ };
1074
+
1075
+ export type PredictiveArticleFragment = {__typename: 'Article'} & Pick<
1076
+ StorefrontAPI.Article,
1077
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1078
+ > & {
1079
+ blog: Pick<StorefrontAPI.Blog, 'handle'>;
1080
+ image?: StorefrontAPI.Maybe<
1081
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
1082
+ >;
1083
+ };
1084
+
1085
+ export type PredictiveCollectionFragment = {__typename: 'Collection'} & Pick<
1086
+ StorefrontAPI.Collection,
1087
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1088
+ > & {
1089
+ image?: StorefrontAPI.Maybe<
1090
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
1091
+ >;
1092
+ };
1093
+
1094
+ export type PredictivePageFragment = {__typename: 'Page'} & Pick<
1095
+ StorefrontAPI.Page,
1096
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1097
+ >;
1098
+
1099
+ export type PredictiveProductFragment = {__typename: 'Product'} & Pick<
1100
+ StorefrontAPI.Product,
1101
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1102
+ > & {
1103
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
1104
+ Pick<StorefrontAPI.ProductVariant, 'id'> & {
1105
+ image?: StorefrontAPI.Maybe<
1106
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
1107
+ >;
1108
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
1109
+ }
1110
+ >;
1111
+ };
1112
+
1113
+ export type PredictiveQueryFragment = {
1114
+ __typename: 'SearchQuerySuggestion';
1115
+ } & Pick<
1116
+ StorefrontAPI.SearchQuerySuggestion,
1117
+ 'text' | 'styledText' | 'trackingParameters'
1118
+ >;
1119
+
1120
+ export type PredictiveSearchQueryVariables = StorefrontAPI.Exact<{
1121
+ country?: StorefrontAPI.InputMaybe<StorefrontAPI.CountryCode>;
1122
+ language?: StorefrontAPI.InputMaybe<StorefrontAPI.LanguageCode>;
1123
+ limit: StorefrontAPI.Scalars['Int']['input'];
1124
+ limitScope: StorefrontAPI.PredictiveSearchLimitScope;
1125
+ term: StorefrontAPI.Scalars['String']['input'];
1126
+ types?: StorefrontAPI.InputMaybe<
1127
+ | Array<StorefrontAPI.PredictiveSearchType>
1128
+ | StorefrontAPI.PredictiveSearchType
1129
+ >;
1130
+ }>;
1131
+
1132
+ export type PredictiveSearchQuery = {
1133
+ predictiveSearch?: StorefrontAPI.Maybe<{
1134
+ articles: Array<
1135
+ {__typename: 'Article'} & Pick<
1136
+ StorefrontAPI.Article,
1137
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1138
+ > & {
1139
+ blog: Pick<StorefrontAPI.Blog, 'handle'>;
1140
+ image?: StorefrontAPI.Maybe<
1141
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
1142
+ >;
1143
+ }
1144
+ >;
1145
+ collections: Array<
1146
+ {__typename: 'Collection'} & Pick<
1147
+ StorefrontAPI.Collection,
1148
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1149
+ > & {
1150
+ image?: StorefrontAPI.Maybe<
1151
+ Pick<StorefrontAPI.Image, 'url' | 'altText' | 'width' | 'height'>
1152
+ >;
1153
+ }
1154
+ >;
1155
+ pages: Array<
1156
+ {__typename: 'Page'} & Pick<
1157
+ StorefrontAPI.Page,
1158
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1159
+ >
1160
+ >;
1161
+ products: Array<
1162
+ {__typename: 'Product'} & Pick<
1163
+ StorefrontAPI.Product,
1164
+ 'id' | 'title' | 'handle' | 'trackingParameters'
1165
+ > & {
1166
+ selectedOrFirstAvailableVariant?: StorefrontAPI.Maybe<
1167
+ Pick<StorefrontAPI.ProductVariant, 'id'> & {
1168
+ image?: StorefrontAPI.Maybe<
1169
+ Pick<
1170
+ StorefrontAPI.Image,
1171
+ 'url' | 'altText' | 'width' | 'height'
1172
+ >
1173
+ >;
1174
+ price: Pick<StorefrontAPI.MoneyV2, 'amount' | 'currencyCode'>;
1175
+ }
1176
+ >;
1177
+ }
1178
+ >;
1179
+ queries: Array<
1180
+ {__typename: 'SearchQuerySuggestion'} & Pick<
1181
+ StorefrontAPI.SearchQuerySuggestion,
1182
+ 'text' | 'styledText' | 'trackingParameters'
1183
+ >
1184
+ >;
1185
+ }>;
1186
+ };
1187
+
1188
+ interface GeneratedQueryTypes {
1189
+ '#graphql\n fragment Shop on Shop {\n id\n name\n description\n primaryDomain {\n url\n }\n brand {\n logo {\n image {\n url\n }\n }\n }\n }\n query Header(\n $country: CountryCode\n $headerMenuHandle: String!\n $language: LanguageCode\n ) @inContext(language: $language, country: $country) {\n shop {\n ...Shop\n }\n menu(handle: $headerMenuHandle) {\n ...Menu\n }\n }\n #graphql\n fragment MenuItem on MenuItem {\n id\n resourceId\n tags\n title\n type\n url\n }\n fragment ChildMenuItem on MenuItem {\n ...MenuItem\n }\n fragment ParentMenuItem on MenuItem {\n ...MenuItem\n items {\n ...ChildMenuItem\n }\n }\n fragment Menu on Menu {\n id\n items {\n ...ParentMenuItem\n }\n }\n\n': {
1190
+ return: HeaderQuery;
1191
+ variables: HeaderQueryVariables;
1192
+ };
1193
+ '#graphql\n query Footer(\n $country: CountryCode\n $footerMenuHandle: String!\n $language: LanguageCode\n ) @inContext(language: $language, country: $country) {\n menu(handle: $footerMenuHandle) {\n ...Menu\n }\n }\n #graphql\n fragment MenuItem on MenuItem {\n id\n resourceId\n tags\n title\n type\n url\n }\n fragment ChildMenuItem on MenuItem {\n ...MenuItem\n }\n fragment ParentMenuItem on MenuItem {\n ...MenuItem\n items {\n ...ChildMenuItem\n }\n }\n fragment Menu on Menu {\n id\n items {\n ...ParentMenuItem\n }\n }\n\n': {
1194
+ return: FooterQuery;
1195
+ variables: FooterQueryVariables;
1196
+ };
1197
+ '#graphql\n query StoreRobots($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n shop {\n id\n }\n }\n': {
1198
+ return: StoreRobotsQuery;
1199
+ variables: StoreRobotsQueryVariables;
1200
+ };
1201
+ '#graphql\n fragment FeaturedCollection on Collection {\n id\n title\n image {\n id\n url\n altText\n width\n height\n }\n handle\n }\n query FeaturedCollection($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n collections(first: 1, sortKey: UPDATED_AT, reverse: true) {\n nodes {\n ...FeaturedCollection\n }\n }\n }\n': {
1202
+ return: FeaturedCollectionQuery;
1203
+ variables: FeaturedCollectionQueryVariables;
1204
+ };
1205
+ '#graphql\n fragment RecommendedProduct on Product {\n id\n title\n handle\n priceRange {\n minVariantPrice {\n amount\n currencyCode\n }\n }\n featuredImage {\n id\n url\n altText\n width\n height\n }\n }\n query RecommendedProducts ($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n products(first: 4, sortKey: UPDATED_AT, reverse: true) {\n nodes {\n ...RecommendedProduct\n }\n }\n }\n': {
1206
+ return: RecommendedProductsQuery;
1207
+ variables: RecommendedProductsQueryVariables;
1208
+ };
1209
+ '#graphql\n query Article(\n $articleHandle: String!\n $blogHandle: String!\n $country: CountryCode\n $language: LanguageCode\n ) @inContext(language: $language, country: $country) {\n blog(handle: $blogHandle) {\n handle\n articleByHandle(handle: $articleHandle) {\n handle\n title\n contentHtml\n publishedAt\n author: authorV2 {\n name\n }\n image {\n id\n altText\n url\n width\n height\n }\n seo {\n description\n title\n }\n }\n }\n }\n': {
1210
+ return: ArticleQuery;
1211
+ variables: ArticleQueryVariables;
1212
+ };
1213
+ '#graphql\n query Blog(\n $language: LanguageCode\n $blogHandle: String!\n $first: Int\n $last: Int\n $startCursor: String\n $endCursor: String\n ) @inContext(language: $language) {\n blog(handle: $blogHandle) {\n title\n handle\n seo {\n title\n description\n }\n articles(\n first: $first,\n last: $last,\n before: $startCursor,\n after: $endCursor\n ) {\n nodes {\n ...ArticleItem\n }\n pageInfo {\n hasPreviousPage\n hasNextPage\n hasNextPage\n endCursor\n startCursor\n }\n\n }\n }\n }\n fragment ArticleItem on Article {\n author: authorV2 {\n name\n }\n contentHtml\n handle\n id\n image {\n id\n altText\n url\n width\n height\n }\n publishedAt\n title\n blog {\n handle\n }\n }\n': {
1214
+ return: BlogQuery;
1215
+ variables: BlogQueryVariables;
1216
+ };
1217
+ '#graphql\n query Blogs(\n $country: CountryCode\n $endCursor: String\n $first: Int\n $language: LanguageCode\n $last: Int\n $startCursor: String\n ) @inContext(country: $country, language: $language) {\n blogs(\n first: $first,\n last: $last,\n before: $startCursor,\n after: $endCursor\n ) {\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n nodes {\n title\n handle\n seo {\n title\n description\n }\n }\n }\n }\n': {
1218
+ return: BlogsQuery;
1219
+ variables: BlogsQueryVariables;
1220
+ };
1221
+ '#graphql\n #graphql\n fragment MoneyProductItem on MoneyV2 {\n amount\n currencyCode\n }\n fragment ProductItem on Product {\n id\n handle\n title\n featuredImage {\n id\n altText\n url\n width\n height\n }\n priceRange {\n minVariantPrice {\n ...MoneyProductItem\n }\n maxVariantPrice {\n ...MoneyProductItem\n }\n }\n }\n\n query Collection(\n $handle: String!\n $country: CountryCode\n $language: LanguageCode\n $first: Int\n $last: Int\n $startCursor: String\n $endCursor: String\n ) @inContext(country: $country, language: $language) {\n collection(handle: $handle) {\n id\n handle\n title\n description\n products(\n first: $first,\n last: $last,\n before: $startCursor,\n after: $endCursor\n ) {\n nodes {\n ...ProductItem\n }\n pageInfo {\n hasPreviousPage\n hasNextPage\n endCursor\n startCursor\n }\n }\n }\n }\n': {
1222
+ return: CollectionQuery;
1223
+ variables: CollectionQueryVariables;
1224
+ };
1225
+ '#graphql\n fragment Collection on Collection {\n id\n title\n handle\n image {\n id\n url\n altText\n width\n height\n }\n }\n query StoreCollections(\n $country: CountryCode\n $endCursor: String\n $first: Int\n $language: LanguageCode\n $last: Int\n $startCursor: String\n ) @inContext(country: $country, language: $language) {\n collections(\n first: $first,\n last: $last,\n before: $startCursor,\n after: $endCursor\n ) {\n nodes {\n ...Collection\n }\n pageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n }\n }\n': {
1226
+ return: StoreCollectionsQuery;
1227
+ variables: StoreCollectionsQueryVariables;
1228
+ };
1229
+ '#graphql\n query Catalog(\n $country: CountryCode\n $language: LanguageCode\n $first: Int\n $last: Int\n $startCursor: String\n $endCursor: String\n ) @inContext(country: $country, language: $language) {\n products(first: $first, last: $last, before: $startCursor, after: $endCursor) {\n nodes {\n ...CollectionItem\n }\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n }\n }\n #graphql\n fragment MoneyCollectionItem on MoneyV2 {\n amount\n currencyCode\n }\n fragment CollectionItem on Product {\n id\n handle\n title\n featuredImage {\n id\n altText\n url\n width\n height\n }\n priceRange {\n minVariantPrice {\n ...MoneyCollectionItem\n }\n maxVariantPrice {\n ...MoneyCollectionItem\n }\n }\n }\n\n': {
1230
+ return: CatalogQuery;
1231
+ variables: CatalogQueryVariables;
1232
+ };
1233
+ '#graphql\n query Page(\n $language: LanguageCode,\n $country: CountryCode,\n $handle: String!\n )\n @inContext(language: $language, country: $country) {\n page(handle: $handle) {\n handle\n id\n title\n body\n seo {\n description\n title\n }\n }\n }\n': {
1234
+ return: PageQuery;
1235
+ variables: PageQueryVariables;
1236
+ };
1237
+ '#graphql\n fragment Policy on ShopPolicy {\n body\n handle\n id\n title\n url\n }\n query Policy(\n $country: CountryCode\n $language: LanguageCode\n $privacyPolicy: Boolean!\n $refundPolicy: Boolean!\n $shippingPolicy: Boolean!\n $termsOfService: Boolean!\n ) @inContext(language: $language, country: $country) {\n shop {\n privacyPolicy @include(if: $privacyPolicy) {\n ...Policy\n }\n shippingPolicy @include(if: $shippingPolicy) {\n ...Policy\n }\n termsOfService @include(if: $termsOfService) {\n ...Policy\n }\n refundPolicy @include(if: $refundPolicy) {\n ...Policy\n }\n }\n }\n': {
1238
+ return: PolicyQuery;
1239
+ variables: PolicyQueryVariables;
1240
+ };
1241
+ '#graphql\n fragment PolicyItem on ShopPolicy {\n id\n title\n handle\n }\n query Policies ($country: CountryCode, $language: LanguageCode)\n @inContext(country: $country, language: $language) {\n shop {\n privacyPolicy {\n ...PolicyItem\n }\n shippingPolicy {\n ...PolicyItem\n }\n termsOfService {\n ...PolicyItem\n }\n refundPolicy {\n ...PolicyItem\n }\n subscriptionPolicy {\n id\n title\n handle\n }\n }\n }\n': {
1242
+ return: PoliciesQuery;
1243
+ variables: PoliciesQueryVariables;
1244
+ };
1245
+ '#graphql\n query Product(\n $country: CountryCode\n $handle: String!\n $language: LanguageCode\n $selectedOptions: [SelectedOptionInput!]!\n ) @inContext(country: $country, language: $language) {\n product(handle: $handle) {\n ...Product\n }\n }\n #graphql\n fragment Product on Product {\n id\n title\n vendor\n handle\n descriptionHtml\n description\n encodedVariantExistence\n encodedVariantAvailability\n options {\n name\n optionValues {\n name\n firstSelectableVariant {\n ...ProductVariant\n }\n swatch {\n color\n image {\n previewImage {\n url\n }\n }\n }\n }\n }\n selectedOrFirstAvailableVariant(selectedOptions: $selectedOptions, ignoreUnknownOptions: true, caseInsensitiveMatch: true) {\n ...ProductVariant\n }\n adjacentVariants (selectedOptions: $selectedOptions) {\n ...ProductVariant\n }\n seo {\n description\n title\n }\n }\n #graphql\n fragment ProductVariant on ProductVariant {\n availableForSale\n compareAtPrice {\n amount\n currencyCode\n }\n id\n image {\n __typename\n id\n url\n altText\n width\n height\n }\n price {\n amount\n currencyCode\n }\n product {\n title\n handle\n }\n selectedOptions {\n name\n value\n }\n sku\n title\n unitPrice {\n amount\n currencyCode\n }\n }\n\n\n': {
1246
+ return: ProductQuery;
1247
+ variables: ProductQueryVariables;
1248
+ };
1249
+ '#graphql\n query RegularSearch(\n $country: CountryCode\n $endCursor: String\n $first: Int\n $language: LanguageCode\n $last: Int\n $term: String!\n $startCursor: String\n ) @inContext(country: $country, language: $language) {\n articles: search(\n query: $term,\n types: [ARTICLE],\n first: $first,\n ) {\n nodes {\n ...on Article {\n ...SearchArticle\n }\n }\n }\n pages: search(\n query: $term,\n types: [PAGE],\n first: $first,\n ) {\n nodes {\n ...on Page {\n ...SearchPage\n }\n }\n }\n products: search(\n after: $endCursor,\n before: $startCursor,\n first: $first,\n last: $last,\n query: $term,\n sortKey: RELEVANCE,\n types: [PRODUCT],\n unavailableProducts: HIDE,\n ) {\n nodes {\n ...on Product {\n ...SearchProduct\n }\n }\n pageInfo {\n ...PageInfoFragment\n }\n }\n }\n #graphql\n fragment SearchProduct on Product {\n __typename\n handle\n id\n publishedAt\n title\n trackingParameters\n vendor\n selectedOrFirstAvailableVariant(\n selectedOptions: []\n ignoreUnknownOptions: true\n caseInsensitiveMatch: true\n ) {\n id\n image {\n url\n altText\n width\n height\n }\n price {\n amount\n currencyCode\n }\n compareAtPrice {\n amount\n currencyCode\n }\n selectedOptions {\n name\n value\n }\n product {\n handle\n title\n }\n }\n }\n\n #graphql\n fragment SearchPage on Page {\n __typename\n handle\n id\n title\n trackingParameters\n }\n\n #graphql\n fragment SearchArticle on Article {\n __typename\n handle\n id\n title\n trackingParameters\n }\n\n #graphql\n fragment PageInfoFragment on PageInfo {\n hasNextPage\n hasPreviousPage\n startCursor\n endCursor\n }\n\n': {
1250
+ return: RegularSearchQuery;
1251
+ variables: RegularSearchQueryVariables;
1252
+ };
1253
+ '#graphql\n query PredictiveSearch(\n $country: CountryCode\n $language: LanguageCode\n $limit: Int!\n $limitScope: PredictiveSearchLimitScope!\n $term: String!\n $types: [PredictiveSearchType!]\n ) @inContext(country: $country, language: $language) {\n predictiveSearch(\n limit: $limit,\n limitScope: $limitScope,\n query: $term,\n types: $types,\n ) {\n articles {\n ...PredictiveArticle\n }\n collections {\n ...PredictiveCollection\n }\n pages {\n ...PredictivePage\n }\n products {\n ...PredictiveProduct\n }\n queries {\n ...PredictiveQuery\n }\n }\n }\n #graphql\n fragment PredictiveArticle on Article {\n __typename\n id\n title\n handle\n blog {\n handle\n }\n image {\n url\n altText\n width\n height\n }\n trackingParameters\n }\n\n #graphql\n fragment PredictiveCollection on Collection {\n __typename\n id\n title\n handle\n image {\n url\n altText\n width\n height\n }\n trackingParameters\n }\n\n #graphql\n fragment PredictivePage on Page {\n __typename\n id\n title\n handle\n trackingParameters\n }\n\n #graphql\n fragment PredictiveProduct on Product {\n __typename\n id\n title\n handle\n trackingParameters\n selectedOrFirstAvailableVariant(\n selectedOptions: []\n ignoreUnknownOptions: true\n caseInsensitiveMatch: true\n ) {\n id\n image {\n url\n altText\n width\n height\n }\n price {\n amount\n currencyCode\n }\n }\n }\n\n #graphql\n fragment PredictiveQuery on SearchQuerySuggestion {\n __typename\n text\n styledText\n trackingParameters\n }\n\n': {
1254
+ return: PredictiveSearchQuery;
1255
+ variables: PredictiveSearchQueryVariables;
1256
+ };
1257
+ }
1258
+
1259
+ interface GeneratedMutationTypes {}
1260
+
1261
+ declare module '@shopify/hydrogen' {
1262
+ interface StorefrontQueries extends GeneratedQueryTypes {}
1263
+ interface StorefrontMutations extends GeneratedMutationTypes {}
1264
+ }