@gem-sdk/adapter-shopify 1.58.0 → 2.0.0-dev.1082

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 (58) hide show
  1. package/dist/cjs/api/operations/add-to-cart.js +1 -35
  2. package/dist/cjs/api/operations/cart-discount-codes-update.js +1 -31
  3. package/dist/cjs/api/operations/cart-note-update.js +1 -31
  4. package/dist/cjs/api/operations/create-cart.js +1 -36
  5. package/dist/cjs/api/operations/get-cart.js +1 -30
  6. package/dist/cjs/api/operations/remove-cart-item.js +1 -33
  7. package/dist/cjs/api/operations/update-cart-line.js +1 -37
  8. package/dist/cjs/graphql/fragments/cart-line.generated.js +6 -12
  9. package/dist/cjs/graphql/fragments/cart-user-error.generated.js +2 -6
  10. package/dist/cjs/graphql/fragments/cart.generated.js +2 -6
  11. package/dist/cjs/graphql/fragments/country.generated.js +2 -6
  12. package/dist/cjs/graphql/fragments/currency.generated.js +2 -6
  13. package/dist/cjs/graphql/fragments/image.generated.js +2 -6
  14. package/dist/cjs/graphql/fragments/language.generated.js +2 -6
  15. package/dist/cjs/graphql/fragments/money-v2.generated.js +2 -6
  16. package/dist/cjs/graphql/fragments/product.generated.js +2 -6
  17. package/dist/cjs/graphql/mutations/cart-create.generated.js +2 -12
  18. package/dist/cjs/graphql/mutations/cart-discount-codes-update.generated.js +2 -12
  19. package/dist/cjs/graphql/mutations/cart-lines-add.generated.js +2 -12
  20. package/dist/cjs/graphql/mutations/cart-lines-remove.generated.js +2 -12
  21. package/dist/cjs/graphql/mutations/cart-lines-update.generated.js +2 -12
  22. package/dist/cjs/graphql/mutations/cart-note-update.generated.js +2 -12
  23. package/dist/cjs/graphql/queries/cart.generated.js +2 -11
  24. package/dist/cjs/graphql/queries/product.generated.js +2 -8
  25. package/dist/cjs/graphql/queries/shop-meta.generated.js +2 -10
  26. package/dist/cjs/helpers/common.js +1 -15
  27. package/dist/cjs/helpers/normalize.js +1 -58
  28. package/dist/cjs/index.js +1 -35
  29. package/dist/esm/api/operations/add-to-cart.js +1 -33
  30. package/dist/esm/api/operations/cart-discount-codes-update.js +1 -29
  31. package/dist/esm/api/operations/cart-note-update.js +1 -29
  32. package/dist/esm/api/operations/create-cart.js +1 -34
  33. package/dist/esm/api/operations/get-cart.js +1 -28
  34. package/dist/esm/api/operations/remove-cart-item.js +1 -31
  35. package/dist/esm/api/operations/update-cart-line.js +1 -35
  36. package/dist/esm/graphql/fragments/cart-line.generated.js +6 -9
  37. package/dist/esm/graphql/fragments/cart-user-error.generated.js +2 -4
  38. package/dist/esm/graphql/fragments/cart.generated.js +2 -4
  39. package/dist/esm/graphql/fragments/country.generated.js +2 -4
  40. package/dist/esm/graphql/fragments/currency.generated.js +2 -4
  41. package/dist/esm/graphql/fragments/image.generated.js +2 -4
  42. package/dist/esm/graphql/fragments/language.generated.js +2 -4
  43. package/dist/esm/graphql/fragments/money-v2.generated.js +2 -4
  44. package/dist/esm/graphql/fragments/product.generated.js +2 -4
  45. package/dist/esm/graphql/mutations/cart-create.generated.js +7 -15
  46. package/dist/esm/graphql/mutations/cart-discount-codes-update.generated.js +7 -15
  47. package/dist/esm/graphql/mutations/cart-lines-add.generated.js +7 -15
  48. package/dist/esm/graphql/mutations/cart-lines-remove.generated.js +7 -15
  49. package/dist/esm/graphql/mutations/cart-lines-update.generated.js +7 -15
  50. package/dist/esm/graphql/mutations/cart-note-update.generated.js +7 -15
  51. package/dist/esm/graphql/queries/cart.generated.js +6 -13
  52. package/dist/esm/graphql/queries/product.generated.js +2 -6
  53. package/dist/esm/graphql/queries/shop-meta.generated.js +4 -10
  54. package/dist/esm/helpers/common.js +1 -13
  55. package/dist/esm/helpers/normalize.js +1 -56
  56. package/dist/esm/index.js +1 -15
  57. package/dist/types/index.d.ts +816 -407
  58. package/package.json +2 -2
@@ -17,7 +17,9 @@ declare const cartNoteUpdateOperation: (config: Site.ProviderConfig) => Cart$1.C
17
17
 
18
18
  type Maybe<T> = T | undefined;
19
19
  type InputMaybe<T> = T | undefined;
20
- type Exact<T extends Record<string, unknown>> = {
20
+ type Exact<T extends {
21
+ [key: string]: unknown;
22
+ }> = {
21
23
  [K in keyof T]: T[K];
22
24
  };
23
25
  /** All built-in and custom scalars, mapped to their actual values */
@@ -27,74 +29,31 @@ type Scalars = {
27
29
  Boolean: boolean;
28
30
  Int: number;
29
31
  Float: number;
30
- /**
31
- * Represents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.
32
- * For example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is
33
- * represented as `"2019-09-07T15:50:00Z`".
34
- *
35
- */
32
+ Color: any;
36
33
  DateTime: string;
37
- /**
38
- * A signed decimal number, which supports arbitrary precision and is serialized as a string.
39
- *
40
- * Example values: `"29.99"`, `"29.999"`.
41
- *
42
- */
43
34
  Decimal: string;
44
- /**
45
- * A string containing HTML code. Refer to the [HTML spec](https://html.spec.whatwg.org/#elements-3) for a
46
- * complete list of HTML elements.
47
- *
48
- * Example value: `"<p>Grey cotton knit sweater.</p>"`.
49
- *
50
- */
51
35
  HTML: string;
52
- /**
53
- * A [JSON](https://www.json.org/json-en.html) object.
54
- *
55
- * Example value:
56
- * `{
57
- * "product": {
58
- * "id": "gid://shopify/Product/1346443542550",
59
- * "title": "White T-shirt",
60
- * "options": [{
61
- * "name": "Size",
62
- * "values": ["M", "L"]
63
- * }]
64
- * }
65
- * }`
66
- *
67
- */
68
36
  JSON: any;
69
- /** A monetary value string without a currency symbol or code. Example value: `"100.57"`. */
70
- Money: any;
71
- /**
72
- * Represents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and
73
- * [RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.
74
- *
75
- * For example, `"https://johns-apparel.myshopify.com"` is a valid URL. It includes a scheme (`https`) and a host
76
- * (`johns-apparel.myshopify.com`).
77
- *
78
- */
79
37
  URL: string;
38
+ UnsignedInt64: any;
80
39
  };
81
40
  /** Details about the gift card used on the checkout. */
82
41
  type AppliedGiftCard = Node & {
42
+ /** The amount that was taken from the gift card by applying it. */
43
+ amountUsed: MoneyV2;
83
44
  /**
84
45
  * The amount that was taken from the gift card by applying it.
85
- * @deprecated Use `amountUsedV2` instead
46
+ * @deprecated Use `amountUsed` instead.
86
47
  */
87
- amountUsed: Scalars['Money'];
88
- /** The amount that was taken from the gift card by applying it. */
89
48
  amountUsedV2: MoneyV2;
49
+ /** The amount left on the gift card. */
50
+ balance: MoneyV2;
90
51
  /**
91
52
  * The amount left on the gift card.
92
- * @deprecated Use `balanceV2` instead
53
+ * @deprecated Use `balance` instead.
93
54
  */
94
- balance: Scalars['Money'];
95
- /** The amount left on the gift card. */
96
55
  balanceV2: MoneyV2;
97
- /** A globally-unique identifier. */
56
+ /** A globally-unique ID. */
98
57
  id: Scalars['ID'];
99
58
  /** The last characters of the gift card. */
100
59
  lastCharacters: Scalars['String'];
@@ -102,10 +61,10 @@ type AppliedGiftCard = Node & {
102
61
  presentmentAmountUsed: MoneyV2;
103
62
  };
104
63
  /** An article in an online store blog. */
105
- type Article = HasMetafields & Node & OnlineStorePublishable & {
64
+ type Article = HasMetafields & Node & OnlineStorePublishable & Trackable & {
106
65
  /**
107
66
  * The article's author.
108
- * @deprecated Use `authorV2` instead
67
+ * @deprecated Use `authorV2` instead.
109
68
  */
110
69
  author: ArticleAuthor;
111
70
  /** The article's author. */
@@ -122,32 +81,31 @@ type Article = HasMetafields & Node & OnlineStorePublishable & {
122
81
  excerpt?: Maybe<Scalars['String']>;
123
82
  /** The excerpt of the article, complete with HTML formatting. */
124
83
  excerptHtml?: Maybe<Scalars['HTML']>;
125
- /**
126
- * A human-friendly unique string for the Article automatically generated from its title.
127
- *
128
- */
84
+ /** A human-friendly unique string for the Article automatically generated from its title. */
129
85
  handle: Scalars['String'];
130
- /** A globally-unique identifier. */
86
+ /** A globally-unique ID. */
131
87
  id: Scalars['ID'];
132
88
  /** The image associated with the article. */
133
89
  image?: Maybe<Image>;
134
90
  /** Returns a metafield found by namespace and key. */
135
91
  metafield?: Maybe<Metafield>;
136
- /**
137
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
138
- *
139
- */
140
- metafields: Maybe<Metafield>[];
92
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
93
+ metafields: Array<Maybe<Metafield>>;
141
94
  /** The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. */
142
95
  onlineStoreUrl?: Maybe<Scalars['URL']>;
143
96
  /** The date and time when the article was published. */
144
97
  publishedAt: Scalars['DateTime'];
145
98
  /** The article’s SEO information. */
146
99
  seo?: Maybe<Seo>;
147
- /** A categorization that a article can be tagged with. */
148
- tags: Scalars['String'][];
100
+ /**
101
+ * A categorization that a article can be tagged with.
102
+ *
103
+ */
104
+ tags: Array<Scalars['String']>;
149
105
  /** The article’s name. */
150
106
  title: Scalars['String'];
107
+ /** URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. */
108
+ trackingParameters?: Maybe<Scalars['String']>;
151
109
  };
152
110
  /** The author of an article. */
153
111
  type ArticleAuthor = {
@@ -168,9 +126,9 @@ type ArticleAuthor = {
168
126
  */
169
127
  type ArticleConnection = {
170
128
  /** A list of edges. */
171
- edges: ArticleEdge[];
129
+ edges: Array<ArticleEdge>;
172
130
  /** A list of the nodes contained in ArticleEdge. */
173
- nodes: Article[];
131
+ nodes: Array<Article>;
174
132
  /** Information to aid in pagination. */
175
133
  pageInfo: PageInfo;
176
134
  };
@@ -184,14 +142,20 @@ type ArticleEdge = {
184
142
  /** The item at the end of ArticleEdge. */
185
143
  node: Article;
186
144
  };
187
- /** Represents a generic custom attribute. */
145
+ /** Represents a generic custom attribute, such as whether an order is a customer's first. */
188
146
  type Attribute = {
189
- /** Key or name of the attribute. */
147
+ /**
148
+ * The key or name of the attribute. For example, `"customersFirstOrder"`.
149
+ *
150
+ */
190
151
  key: Scalars['String'];
191
- /** Value of the attribute. */
152
+ /**
153
+ * The value of the attribute. For example, `"true"`.
154
+ *
155
+ */
192
156
  value?: Maybe<Scalars['String']>;
193
157
  };
194
- /** Specifies the input fields required for an attribute. */
158
+ /** The input fields for an attribute. */
195
159
  type AttributeInput = {
196
160
  /** Key or name of the attribute. */
197
161
  key: Scalars['String'];
@@ -208,7 +172,53 @@ type AvailableShippingRates = {
208
172
  */
209
173
  ready: Scalars['Boolean'];
210
174
  /** The fetched shipping rates. `null` until the `ready` field is `true`. */
211
- shippingRates?: Maybe<ShippingRate[]>;
175
+ shippingRates?: Maybe<Array<ShippingRate>>;
176
+ };
177
+ /** Represents a cart line common fields. */
178
+ type BaseCartLine = {
179
+ /** An attribute associated with the cart line. */
180
+ attribute?: Maybe<Attribute>;
181
+ /** The attributes associated with the cart line. Attributes are represented as key-value pairs. */
182
+ attributes: Array<Attribute>;
183
+ /** The cost of the merchandise that the buyer will pay for at checkout. The costs are subject to change and changes will be reflected at checkout. */
184
+ cost: CartLineCost;
185
+ /** The discounts that have been applied to the cart line. */
186
+ discountAllocations: Array<CartDiscountAllocation>;
187
+ /**
188
+ * The estimated cost of the merchandise that the buyer will pay for at checkout. The estimated costs are subject to change and changes will be reflected at checkout.
189
+ * @deprecated Use `cost` instead.
190
+ */
191
+ estimatedCost: CartLineEstimatedCost;
192
+ /** A globally-unique ID. */
193
+ id: Scalars['ID'];
194
+ /** The merchandise that the buyer intends to purchase. */
195
+ merchandise: Merchandise;
196
+ /** The quantity of the merchandise that the customer intends to purchase. */
197
+ quantity: Scalars['Int'];
198
+ /** The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased. */
199
+ sellingPlanAllocation?: Maybe<SellingPlanAllocation>;
200
+ };
201
+ /**
202
+ * An auto-generated type for paginating through multiple BaseCartLines.
203
+ *
204
+ */
205
+ type BaseCartLineConnection = {
206
+ /** A list of edges. */
207
+ edges: Array<BaseCartLineEdge>;
208
+ /** A list of the nodes contained in BaseCartLineEdge. */
209
+ nodes: Array<BaseCartLine>;
210
+ /** Information to aid in pagination. */
211
+ pageInfo: PageInfo;
212
+ };
213
+ /**
214
+ * An auto-generated type which holds one BaseCartLine and a cursor during pagination.
215
+ *
216
+ */
217
+ type BaseCartLineEdge = {
218
+ /** A cursor for use in pagination. */
219
+ cursor: Scalars['String'];
220
+ /** The item at the end of BaseCartLineEdge. */
221
+ node: BaseCartLine;
212
222
  };
213
223
  /** An online store blog. */
214
224
  type Blog = HasMetafields & Node & OnlineStorePublishable & {
@@ -217,21 +227,18 @@ type Blog = HasMetafields & Node & OnlineStorePublishable & {
217
227
  /** List of the blog's articles. */
218
228
  articles: ArticleConnection;
219
229
  /** The authors who have contributed to the blog. */
220
- authors: ArticleAuthor[];
230
+ authors: Array<ArticleAuthor>;
221
231
  /**
222
232
  * A human-friendly unique string for the Blog automatically generated from its title.
223
233
  *
224
234
  */
225
235
  handle: Scalars['String'];
226
- /** A globally-unique identifier. */
236
+ /** A globally-unique ID. */
227
237
  id: Scalars['ID'];
228
238
  /** Returns a metafield found by namespace and key. */
229
239
  metafield?: Maybe<Metafield>;
230
- /**
231
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
232
- *
233
- */
234
- metafields: Maybe<Metafield>[];
240
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
241
+ metafields: Array<Maybe<Metafield>>;
235
242
  /** The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. */
236
243
  onlineStoreUrl?: Maybe<Scalars['URL']>;
237
244
  /** The blog's SEO information. */
@@ -239,6 +246,44 @@ type Blog = HasMetafields & Node & OnlineStorePublishable & {
239
246
  /** The blogs’s title. */
240
247
  title: Scalars['String'];
241
248
  };
249
+ /**
250
+ * The store's [branding configuration](https://help.shopify.com/en/manual/promoting-marketing/managing-brand-assets).
251
+ *
252
+ */
253
+ type Brand = {
254
+ /** The colors of the store's brand. */
255
+ colors: BrandColors;
256
+ /** The store's cover image. */
257
+ coverImage?: Maybe<MediaImage>;
258
+ /** The store's default logo. */
259
+ logo?: Maybe<MediaImage>;
260
+ /** The store's short description. */
261
+ shortDescription?: Maybe<Scalars['String']>;
262
+ /** The store's slogan. */
263
+ slogan?: Maybe<Scalars['String']>;
264
+ /** The store's preferred logo for square UI elements. */
265
+ squareLogo?: Maybe<MediaImage>;
266
+ };
267
+ /**
268
+ * A group of related colors for the shop's brand.
269
+ *
270
+ */
271
+ type BrandColorGroup = {
272
+ /** The background color. */
273
+ background?: Maybe<Scalars['Color']>;
274
+ /** The foreground color. */
275
+ foreground?: Maybe<Scalars['Color']>;
276
+ };
277
+ /**
278
+ * The colors of the shop's brand.
279
+ *
280
+ */
281
+ type BrandColors = {
282
+ /** The shop's primary brand colors. */
283
+ primary: Array<BrandColorGroup>;
284
+ /** The shop's secondary brand colors. */
285
+ secondary: Array<BrandColorGroup>;
286
+ };
242
287
  /** Card brand, such as Visa or Mastercard, which can be used for payments. */
243
288
  type CardBrand =
244
289
  /** American Express. */
@@ -253,39 +298,50 @@ type CardBrand =
253
298
  | 'MASTERCARD'
254
299
  /** Visa. */
255
300
  | 'VISA';
256
- /** A cart represents the merchandise that a buyer intends to purchase, and the estimated cost associated with the cart. To learn how to interact with a cart during a customer's session, refer to [Manage a cart with the Storefront API](https://shopify.dev/api/examples/cart). */
257
- type Cart = Node & {
301
+ /**
302
+ * A cart represents the merchandise that a buyer intends to purchase,
303
+ * and the estimated cost associated with the cart. Learn how to
304
+ * [interact with a cart](https://shopify.dev/custom-storefronts/internationalization/international-pricing)
305
+ * during a customer's session.
306
+ *
307
+ */
308
+ type Cart = HasMetafields & Node & {
258
309
  /** An attribute associated with the cart. */
259
310
  attribute?: Maybe<Attribute>;
260
311
  /** The attributes associated with the cart. Attributes are represented as key-value pairs. */
261
- attributes: Attribute[];
262
- /** Information about the buyer that is interacting with the cart. */
312
+ attributes: Array<Attribute>;
313
+ /** Information about the buyer that's interacting with the cart. */
263
314
  buyerIdentity: CartBuyerIdentity;
264
315
  /** The URL of the checkout for the cart. */
265
316
  checkoutUrl: Scalars['URL'];
266
- /** The estimated costs that the buyer will pay at checkout. The costs are subject to change and changes will be reflected at checkout. The `cost` field uses the `buyerIdentity` field to determine [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-cart). */
317
+ /** The estimated costs that the buyer will pay at checkout. The costs are subject to change and changes will be reflected at checkout. The `cost` field uses the `buyerIdentity` field to determine [international pricing](https://shopify.dev/custom-storefronts/internationalization/international-pricing). */
267
318
  cost: CartCost;
268
319
  /** The date and time when the cart was created. */
269
320
  createdAt: Scalars['DateTime'];
270
- /** The delivery groups available for the cart, based on the default address of the logged-in customer. */
271
- deliveryGroups: CartDeliveryGroupConnection;
272
- /** The discounts that have been applied to the entire cart. */
273
- discountAllocations: CartDiscountAllocation[];
274
321
  /**
275
- * The case-insensitive discount codes that the customer added at checkout.
322
+ * The delivery groups available for the cart, based on the buyer identity default
323
+ * delivery address preference or the default address of the logged-in customer.
276
324
  *
277
325
  */
278
- discountCodes: CartDiscountCode[];
326
+ deliveryGroups: CartDeliveryGroupConnection;
327
+ /** The discounts that have been applied to the entire cart. */
328
+ discountAllocations: Array<CartDiscountAllocation>;
329
+ /** The case-insensitive discount codes that the customer added at checkout. */
330
+ discountCodes: Array<CartDiscountCode>;
279
331
  /**
280
- * The estimated costs that the buyer will pay at checkout. The estimated costs are subject to change and changes will be reflected at checkout. The `estimatedCost` field uses the `buyerIdentity` field to determine [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-cart).
281
- * @deprecated Use `cost` instead
332
+ * The estimated costs that the buyer will pay at checkout. The estimated costs are subject to change and changes will be reflected at checkout. The `estimatedCost` field uses the `buyerIdentity` field to determine [international pricing](https://shopify.dev/custom-storefronts/internationalization/international-pricing).
333
+ * @deprecated Use `cost` instead.
282
334
  */
283
335
  estimatedCost: CartEstimatedCost;
284
- /** A globally-unique identifier. */
336
+ /** A globally-unique ID. */
285
337
  id: Scalars['ID'];
286
338
  /** A list of lines containing information about the items the customer intends to purchase. */
287
- lines: CartLineConnection;
288
- /** A note that is associated with the cart. For example, the note can be a personalized message to the buyer. */
339
+ lines: BaseCartLineConnection;
340
+ /** Returns a metafield found by namespace and key. */
341
+ metafield?: Maybe<Metafield>;
342
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
343
+ metafields: Array<Maybe<Metafield>>;
344
+ /** A note that's associated with the cart. For example, the note can be a personalized message to the buyer. */
289
345
  note?: Maybe<Scalars['String']>;
290
346
  /** The total number of items in the cart. */
291
347
  totalQuantity: Scalars['Int'];
@@ -298,15 +354,29 @@ type CartBuyerIdentity = {
298
354
  countryCode?: Maybe<CountryCode>;
299
355
  /** The customer account associated with the cart. */
300
356
  customer?: Maybe<Customer>;
301
- /** The email address of the buyer that is interacting with the cart. */
357
+ /**
358
+ * An ordered set of delivery addresses tied to the buyer that is interacting with the cart.
359
+ * The rank of the preferences is determined by the order of the addresses in the array. Preferences
360
+ * can be used to populate relevant fields in the checkout flow.
361
+ *
362
+ */
363
+ deliveryAddressPreferences: Array<DeliveryAddress>;
364
+ /** The email address of the buyer that's interacting with the cart. */
302
365
  email?: Maybe<Scalars['String']>;
303
- /** The phone number of the buyer that is interacting with the cart. */
366
+ /** The phone number of the buyer that's interacting with the cart. */
304
367
  phone?: Maybe<Scalars['String']>;
368
+ /**
369
+ * A set of wallet preferences tied to the buyer that is interacting with the cart.
370
+ * Preferences can be used to populate relevant payment fields in the checkout flow.
371
+ *
372
+ * @deprecated Use `preferences` instead.
373
+ */
374
+ walletPreferences: Array<Scalars['String']>;
305
375
  };
306
376
  /**
307
377
  * Specifies the input fields to update the buyer information associated with a cart.
308
378
  * Buyer identity is used to determine
309
- * [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-checkout)
379
+ * [international pricing](https://shopify.dev/custom-storefronts/internationalization/international-pricing)
310
380
  * and should match the customer's shipping address.
311
381
  *
312
382
  */
@@ -315,6 +385,14 @@ type CartBuyerIdentityInput = {
315
385
  countryCode?: InputMaybe<CountryCode>;
316
386
  /** The access token used to identify the customer associated with the cart. */
317
387
  customerAccessToken?: InputMaybe<Scalars['String']>;
388
+ /**
389
+ * An ordered set of delivery addresses tied to the buyer that is interacting with the cart.
390
+ * The rank of the preferences is determined by the order of the addresses in the array. Preferences
391
+ * can be used to populate relevant fields in the checkout flow.
392
+ *
393
+ * The input must not contain more than `250` values.
394
+ */
395
+ deliveryAddressPreferences?: InputMaybe<Array<DeliveryAddressInput>>;
318
396
  /** The email address of the buyer that is interacting with the cart. */
319
397
  email?: InputMaybe<Scalars['String']>;
320
398
  /** The phone number of the buyer that is interacting with the cart. */
@@ -322,8 +400,8 @@ type CartBuyerIdentityInput = {
322
400
  };
323
401
  /**
324
402
  * The costs that the buyer will pay at checkout.
325
- * It uses [`CartBuyerIdentity`](https://shopify.dev/api/storefront/reference/cart/cartbuyeridentity) to determine
326
- * [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-cart).
403
+ * The cart cost uses [`CartBuyerIdentity`](https://shopify.dev/api/storefront/reference/cart/cartbuyeridentity) to determine
404
+ * [international pricing](https://shopify.dev/custom-storefronts/internationalization/international-pricing).
327
405
  *
328
406
  */
329
407
  type CartCost = {
@@ -349,13 +427,15 @@ type CartCost = {
349
427
  /** Information about the options available for one or more line items to be delivered to a specific address. */
350
428
  type CartDeliveryGroup = {
351
429
  /** A list of cart lines for the delivery group. */
352
- cartLines: CartLineConnection;
430
+ cartLines: BaseCartLineConnection;
353
431
  /** The destination address for the delivery group. */
354
432
  deliveryAddress: MailingAddress;
355
433
  /** The delivery options available for the delivery group. */
356
- deliveryOptions: CartDeliveryOption[];
434
+ deliveryOptions: Array<CartDeliveryOption>;
357
435
  /** The ID for the delivery group. */
358
436
  id: Scalars['ID'];
437
+ /** The selected delivery option for the delivery group. */
438
+ selectedDeliveryOption?: Maybe<CartDeliveryOption>;
359
439
  };
360
440
  /**
361
441
  * An auto-generated type for paginating through multiple CartDeliveryGroups.
@@ -363,9 +443,9 @@ type CartDeliveryGroup = {
363
443
  */
364
444
  type CartDeliveryGroupConnection = {
365
445
  /** A list of edges. */
366
- edges: CartDeliveryGroupEdge[];
446
+ edges: Array<CartDeliveryGroupEdge>;
367
447
  /** A list of the nodes contained in CartDeliveryGroupEdge. */
368
- nodes: CartDeliveryGroup[];
448
+ nodes: Array<CartDeliveryGroup>;
369
449
  /** Information to aid in pagination. */
370
450
  pageInfo: PageInfo;
371
451
  };
@@ -389,6 +469,8 @@ type CartDeliveryOption = {
389
469
  description?: Maybe<Scalars['String']>;
390
470
  /** The estimated cost for the delivery option. */
391
471
  estimatedCost: MoneyV2;
472
+ /** The unique identifier of the delivery option. */
473
+ handle: Scalars['String'];
392
474
  /** The title of the delivery option. */
393
475
  title?: Maybe<Scalars['String']>;
394
476
  };
@@ -408,20 +490,29 @@ type CartDiscountCode = {
408
490
  type CartErrorCode =
409
491
  /** The input value is invalid. */
410
492
  'INVALID'
493
+ /** Delivery group was not found in cart. */
494
+ | 'INVALID_DELIVERY_GROUP'
495
+ /** Delivery option was not valid. */
496
+ | 'INVALID_DELIVERY_OPTION'
411
497
  /** Merchandise line was not found in cart. */
412
498
  | 'INVALID_MERCHANDISE_LINE'
499
+ /** The metafields were not valid. */
500
+ | 'INVALID_METAFIELDS'
501
+ /** The payment wasn't valid. */
502
+ | 'INVALID_PAYMENT'
503
+ /** Cannot update payment on an empty cart */
504
+ | 'INVALID_PAYMENT_EMPTY_CART'
413
505
  /** The input value should be less than the maximum value allowed. */
414
506
  | 'LESS_THAN'
415
507
  /** Missing discount code. */
416
508
  | 'MISSING_DISCOUNT_CODE'
417
509
  /** Missing note. */
418
- | 'MISSING_NOTE';
419
- /**
420
- * The estimated costs that the buyer will pay at checkout.
421
- * It uses [`CartBuyerIdentity`](https://shopify.dev/api/storefront/reference/cart/cartbuyeridentity) to determine
422
- * [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-cart).
423
- *
424
- */
510
+ | 'MISSING_NOTE'
511
+ /** The payment method is not supported. */
512
+ | 'PAYMENT_METHOD_NOT_SUPPORTED'
513
+ /** Validation failed. */
514
+ | 'VALIDATION_CUSTOM';
515
+ /** The estimated costs that the buyer will pay at checkout. The estimated cost uses [`CartBuyerIdentity`](https://shopify.dev/api/storefront/reference/cart/cartbuyeridentity) to determine [international pricing](https://shopify.dev/custom-storefronts/internationalization/international-pricing). */
425
516
  type CartEstimatedCost = {
426
517
  /** The estimated amount, before taxes and discounts, for the customer to pay at checkout. The checkout charge amount doesn't include any deferred payments that'll be paid at a later date. If the cart has no deferred payments, then the checkout charge amount is equivalent to`subtotal_amount`. */
427
518
  checkoutChargeAmount: MoneyV2;
@@ -434,38 +525,77 @@ type CartEstimatedCost = {
434
525
  /** The estimated tax amount for the customer to pay at checkout. */
435
526
  totalTaxAmount?: Maybe<MoneyV2>;
436
527
  };
437
- /** Specifies the input fields to create a cart. */
528
+ /** The input fields to create a cart. */
438
529
  type CartInput = {
439
- /** An array of key-value pairs that contains additional information about the cart. */
440
- attributes?: InputMaybe<AttributeInput[]>;
441
- /** The customer associated with the cart. Used to determine [international pricing](https://shopify.dev/api/examples/international-pricing#create-a-checkout). Buyer identity should match the customer's shipping address. */
530
+ /**
531
+ * An array of key-value pairs that contains additional information about the cart.
532
+ *
533
+ * The input must not contain more than `250` values.
534
+ */
535
+ attributes?: InputMaybe<Array<AttributeInput>>;
536
+ /**
537
+ * The customer associated with the cart. Used to determine [international pricing]
538
+ * (https://shopify.dev/custom-storefronts/internationalization/international-pricing).
539
+ * Buyer identity should match the customer's shipping address.
540
+ *
541
+ */
442
542
  buyerIdentity?: InputMaybe<CartBuyerIdentityInput>;
443
543
  /**
444
544
  * The case-insensitive discount codes that the customer added at checkout.
445
545
  *
546
+ * The input must not contain more than `250` values.
547
+ */
548
+ discountCodes?: InputMaybe<Array<Scalars['String']>>;
549
+ /**
550
+ * A list of merchandise lines to add to the cart.
551
+ *
552
+ * The input must not contain more than `250` values.
553
+ */
554
+ lines?: InputMaybe<Array<CartLineInput>>;
555
+ /**
556
+ * The metafields to associate with this cart.
557
+ *
558
+ * The input must not contain more than `250` values.
559
+ */
560
+ metafields?: InputMaybe<Array<CartInputMetafieldInput>>;
561
+ /**
562
+ * A note that's associated with the cart. For example, the note can be a personalized message to the buyer.
563
+ *
446
564
  */
447
- discountCodes?: InputMaybe<Scalars['String'][]>;
448
- /** A list of merchandise lines to add to the cart. */
449
- lines?: InputMaybe<CartLineInput[]>;
450
- /** A note that is associated with the cart. For example, the note can be a personalized message to the buyer. */
451
565
  note?: InputMaybe<Scalars['String']>;
452
566
  };
567
+ /** The input fields for a cart metafield value to set. */
568
+ type CartInputMetafieldInput = {
569
+ /** The key name of the metafield. */
570
+ key: Scalars['String'];
571
+ /**
572
+ * The type of data that the cart metafield stores.
573
+ * The type of data must be a [supported type](https://shopify.dev/apps/metafields/types).
574
+ *
575
+ */
576
+ type: Scalars['String'];
577
+ /**
578
+ * The data to store in the cart metafield. The data is always stored as a string, regardless of the metafield's type.
579
+ *
580
+ */
581
+ value: Scalars['String'];
582
+ };
453
583
  /** Represents information about the merchandise in the cart. */
454
- type CartLine = Node & {
584
+ type CartLine = BaseCartLine & Node & {
455
585
  /** An attribute associated with the cart line. */
456
586
  attribute?: Maybe<Attribute>;
457
587
  /** The attributes associated with the cart line. Attributes are represented as key-value pairs. */
458
- attributes: Attribute[];
588
+ attributes: Array<Attribute>;
459
589
  /** The cost of the merchandise that the buyer will pay for at checkout. The costs are subject to change and changes will be reflected at checkout. */
460
590
  cost: CartLineCost;
461
591
  /** The discounts that have been applied to the cart line. */
462
- discountAllocations: CartDiscountAllocation[];
592
+ discountAllocations: Array<CartDiscountAllocation>;
463
593
  /**
464
594
  * The estimated cost of the merchandise that the buyer will pay for at checkout. The estimated costs are subject to change and changes will be reflected at checkout.
465
- * @deprecated Use `cost` instead
595
+ * @deprecated Use `cost` instead.
466
596
  */
467
597
  estimatedCost: CartLineEstimatedCost;
468
- /** A globally-unique identifier. */
598
+ /** A globally-unique ID. */
469
599
  id: Scalars['ID'];
470
600
  /** The merchandise that the buyer intends to purchase. */
471
601
  merchandise: Merchandise;
@@ -474,18 +604,6 @@ type CartLine = Node & {
474
604
  /** The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased. */
475
605
  sellingPlanAllocation?: Maybe<SellingPlanAllocation>;
476
606
  };
477
- /**
478
- * An auto-generated type for paginating through multiple CartLines.
479
- *
480
- */
481
- type CartLineConnection = {
482
- /** A list of edges. */
483
- edges: CartLineEdge[];
484
- /** A list of the nodes contained in CartLineEdge. */
485
- nodes: CartLine[];
486
- /** Information to aid in pagination. */
487
- pageInfo: PageInfo;
488
- };
489
607
  /** The cost of the merchandise line that the buyer will pay at checkout. */
490
608
  type CartLineCost = {
491
609
  /** The amount of the merchandise line. */
@@ -498,16 +616,9 @@ type CartLineCost = {
498
616
  totalAmount: MoneyV2;
499
617
  };
500
618
  /**
501
- * An auto-generated type which holds one CartLine and a cursor during pagination.
619
+ * The estimated cost of the merchandise line that the buyer will pay at checkout.
502
620
  *
503
621
  */
504
- type CartLineEdge = {
505
- /** A cursor for use in pagination. */
506
- cursor: Scalars['String'];
507
- /** The item at the end of CartLineEdge. */
508
- node: CartLine;
509
- };
510
- /** The estimated cost of the merchandise line that the buyer will pay at checkout. */
511
622
  type CartLineEstimatedCost = {
512
623
  /** The amount of the merchandise line. */
513
624
  amount: MoneyV2;
@@ -518,28 +629,36 @@ type CartLineEstimatedCost = {
518
629
  /** The estimated total cost of the merchandise line. */
519
630
  totalAmount: MoneyV2;
520
631
  };
521
- /** Specifies the input fields to create a merchandise line on a cart. */
632
+ /** The input fields to create a merchandise line on a cart. */
522
633
  type CartLineInput = {
523
- /** An array of key-value pairs that contains additional information about the merchandise line. */
524
- attributes?: InputMaybe<AttributeInput[]>;
525
- /** The identifier of the merchandise that the buyer intends to purchase. */
634
+ /**
635
+ * An array of key-value pairs that contains additional information about the merchandise line.
636
+ *
637
+ * The input must not contain more than `250` values.
638
+ */
639
+ attributes?: InputMaybe<Array<AttributeInput>>;
640
+ /** The ID of the merchandise that the buyer intends to purchase. */
526
641
  merchandiseId: Scalars['ID'];
527
642
  /** The quantity of the merchandise. */
528
643
  quantity?: InputMaybe<Scalars['Int']>;
529
- /** The identifier of the selling plan that the merchandise is being purchased with. */
644
+ /** The ID of the selling plan that the merchandise is being purchased with. */
530
645
  sellingPlanId?: InputMaybe<Scalars['ID']>;
531
646
  };
532
- /** Specifies the input fields to update a line item on a cart. */
647
+ /** The input fields to update a line item on a cart. */
533
648
  type CartLineUpdateInput = {
534
- /** An array of key-value pairs that contains additional information about the merchandise line. */
535
- attributes?: InputMaybe<AttributeInput[]>;
536
- /** The identifier of the merchandise line. */
649
+ /**
650
+ * An array of key-value pairs that contains additional information about the merchandise line.
651
+ *
652
+ * The input must not contain more than `250` values.
653
+ */
654
+ attributes?: InputMaybe<Array<AttributeInput>>;
655
+ /** The ID of the merchandise line. */
537
656
  id: Scalars['ID'];
538
- /** The identifier of the merchandise for the line item. */
657
+ /** The ID of the merchandise for the line item. */
539
658
  merchandiseId?: InputMaybe<Scalars['ID']>;
540
659
  /** The quantity of the line item. */
541
660
  quantity?: InputMaybe<Scalars['Int']>;
542
- /** The identifier of the selling plan that the merchandise is being purchased with. */
661
+ /** The ID of the selling plan that the merchandise is being purchased with. */
543
662
  sellingPlanId?: InputMaybe<Scalars['ID']>;
544
663
  };
545
664
  /** Represents an error that happens during execution of a cart mutation. */
@@ -547,14 +666,19 @@ type CartUserError = DisplayableError & {
547
666
  /** The error code. */
548
667
  code?: Maybe<CartErrorCode>;
549
668
  /** The path to the input field that caused the error. */
550
- field?: Maybe<Scalars['String'][]>;
669
+ field?: Maybe<Array<Scalars['String']>>;
551
670
  /** The error message. */
552
671
  message: Scalars['String'];
553
672
  };
554
- /** A container for all the information required to checkout items and pay. */
673
+ /**
674
+ * A container for all the information required to checkout items and pay.
675
+ *
676
+ * The Storefront GraphQL Checkout API is deprecated and will be removed in a future version. Please see https://shopify.dev/changelog/deprecation-of-checkout-apis for more information.
677
+ *
678
+ */
555
679
  type Checkout = Node & {
556
680
  /** The gift cards used on the checkout. */
557
- appliedGiftCards: AppliedGiftCard[];
681
+ appliedGiftCards: Array<AppliedGiftCard>;
558
682
  /**
559
683
  * The available shipping rates for this Checkout.
560
684
  * Should only be used when checkout `requiresShipping` is `true` and
@@ -570,13 +694,13 @@ type Checkout = Node & {
570
694
  createdAt: Scalars['DateTime'];
571
695
  /** The currency code for the checkout. */
572
696
  currencyCode: CurrencyCode;
573
- /** A list of extra information that is added to the checkout. */
574
- customAttributes: Attribute[];
697
+ /** A list of extra information that's added to the checkout. */
698
+ customAttributes: Array<Attribute>;
575
699
  /** Discounts that have been applied on the checkout. */
576
700
  discountApplications: DiscountApplicationConnection;
577
701
  /** The email attached to this checkout. */
578
702
  email?: Maybe<Scalars['String']>;
579
- /** A globally-unique identifier. */
703
+ /** A globally-unique ID. */
580
704
  id: Scalars['ID'];
581
705
  /** A list of line item objects, each one containing information about an item in the checkout. */
582
706
  lineItems: CheckoutLineItemConnection;
@@ -586,14 +710,14 @@ type Checkout = Node & {
586
710
  note?: Maybe<Scalars['String']>;
587
711
  /** The resulting order from a paid checkout. */
588
712
  order?: Maybe<Order>;
589
- /** The Order Status Page for this Checkout, null when checkout is not completed. */
713
+ /** The <b>Order status</b> page for this Checkout, null when checkout isn't completed. */
590
714
  orderStatusUrl?: Maybe<Scalars['URL']>;
715
+ /** The amount left to be paid. This is equal to the cost of the line items, taxes, and shipping, minus discounts and gift cards. */
716
+ paymentDue: MoneyV2;
591
717
  /**
592
- * The amount left to be paid. This is equal to the cost of the line items, taxes and shipping minus discounts and gift cards.
593
- * @deprecated Use `paymentDueV2` instead
718
+ * The amount left to be paid. This is equal to the cost of the line items, duties, taxes, and shipping, minus discounts and gift cards.
719
+ * @deprecated Use `paymentDue` instead.
594
720
  */
595
- paymentDue: Scalars['Money'];
596
- /** The amount left to be paid. This is equal to the cost of the line items, duties, taxes, and shipping, minus discounts and gift cards. */
597
721
  paymentDueV2: MoneyV2;
598
722
  /**
599
723
  * Whether or not the Checkout is ready and can be completed. Checkouts may
@@ -611,15 +735,15 @@ type Checkout = Node & {
611
735
  * The discounts that have been allocated onto the shipping line by discount applications.
612
736
  *
613
737
  */
614
- shippingDiscountAllocations: DiscountAllocation[];
615
- /** Once a shipping rate is selected by the customer it is transitioned to a `shipping_line` object. */
738
+ shippingDiscountAllocations: Array<DiscountAllocation>;
739
+ /** Once a shipping rate is selected by the customer it's transitioned to a `shipping_line` object. */
616
740
  shippingLine?: Maybe<ShippingRate>;
741
+ /** The price at checkout before shipping and taxes. */
742
+ subtotalPrice: MoneyV2;
617
743
  /**
618
- * Price of the checkout before shipping and taxes.
619
- * @deprecated Use `subtotalPriceV2` instead
744
+ * The price at checkout before duties, shipping, and taxes.
745
+ * @deprecated Use `subtotalPrice` instead.
620
746
  */
621
- subtotalPrice: Scalars['Money'];
622
- /** The price at checkout before duties, shipping, and taxes. */
623
747
  subtotalPriceV2: MoneyV2;
624
748
  /** Whether the checkout is tax exempt. */
625
749
  taxExempt: Scalars['Boolean'];
@@ -627,19 +751,19 @@ type Checkout = Node & {
627
751
  taxesIncluded: Scalars['Boolean'];
628
752
  /** The sum of all the duties applied to the line items in the checkout. */
629
753
  totalDuties?: Maybe<MoneyV2>;
754
+ /** The sum of all the prices of all the items in the checkout, including taxes and duties. */
755
+ totalPrice: MoneyV2;
630
756
  /**
631
- * The sum of all the prices of all the items in the checkout, taxes and discounts included.
632
- * @deprecated Use `totalPriceV2` instead
757
+ * The sum of all the prices of all the items in the checkout, including taxes and duties.
758
+ * @deprecated Use `totalPrice` instead.
633
759
  */
634
- totalPrice: Scalars['Money'];
635
- /** The sum of all the prices of all the items in the checkout, including duties, taxes, and discounts. */
636
760
  totalPriceV2: MoneyV2;
761
+ /** The sum of all the taxes applied to the line items and shipping lines in the checkout. */
762
+ totalTax: MoneyV2;
637
763
  /**
638
764
  * The sum of all the taxes applied to the line items and shipping lines in the checkout.
639
- * @deprecated Use `totalTaxV2` instead
765
+ * @deprecated Use `totalTax` instead.
640
766
  */
641
- totalTax: Scalars['Money'];
642
- /** The sum of all the taxes applied to the line items and shipping lines in the checkout. */
643
767
  totalTaxV2: MoneyV2;
644
768
  /** The date and time when the checkout was last updated. */
645
769
  updatedAt: Scalars['DateTime'];
@@ -654,10 +778,10 @@ type CheckoutBuyerIdentity = {
654
778
  /** A single line item in the checkout, grouped by variant and attributes. */
655
779
  type CheckoutLineItem = Node & {
656
780
  /** Extra information in the form of an array of Key-Value pairs about the line item. */
657
- customAttributes: Attribute[];
781
+ customAttributes: Array<Attribute>;
658
782
  /** The discounts that have been allocated onto the checkout line item by discount applications. */
659
- discountAllocations: DiscountAllocation[];
660
- /** A globally-unique identifier. */
783
+ discountAllocations: Array<DiscountAllocation>;
784
+ /** A globally-unique ID. */
661
785
  id: Scalars['ID'];
662
786
  /** The quantity of the line item. */
663
787
  quantity: Scalars['Int'];
@@ -674,9 +798,9 @@ type CheckoutLineItem = Node & {
674
798
  */
675
799
  type CheckoutLineItemConnection = {
676
800
  /** A list of edges. */
677
- edges: CheckoutLineItemEdge[];
801
+ edges: Array<CheckoutLineItemEdge>;
678
802
  /** A list of the nodes contained in CheckoutLineItemEdge. */
679
- nodes: CheckoutLineItem[];
803
+ nodes: Array<CheckoutLineItem>;
680
804
  /** Information to aid in pagination. */
681
805
  pageInfo: PageInfo;
682
806
  };
@@ -690,8 +814,12 @@ type CheckoutLineItemEdge = {
690
814
  /** The item at the end of CheckoutLineItemEdge. */
691
815
  node: CheckoutLineItem;
692
816
  };
693
- /** A collection represents a grouping of products that a shop owner can create to organize them or make their shops easier to browse. */
694
- type Collection = HasMetafields & Node & OnlineStorePublishable & {
817
+ /**
818
+ * A collection represents a grouping of products that a shop owner can create to
819
+ * organize them or make their shops easier to browse.
820
+ *
821
+ */
822
+ type Collection = HasMetafields & Node & OnlineStorePublishable & Trackable & {
695
823
  /** Stripped description of the collection, single line with HTML tags removed. */
696
824
  description: Scalars['String'];
697
825
  /** The description of the collection, complete with HTML formatting. */
@@ -702,17 +830,14 @@ type Collection = HasMetafields & Node & OnlineStorePublishable & {
702
830
  *
703
831
  */
704
832
  handle: Scalars['String'];
705
- /** A globally-unique identifier. */
833
+ /** A globally-unique ID. */
706
834
  id: Scalars['ID'];
707
835
  /** Image associated with the collection. */
708
836
  image?: Maybe<Image>;
709
837
  /** Returns a metafield found by namespace and key. */
710
838
  metafield?: Maybe<Metafield>;
711
- /**
712
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
713
- *
714
- */
715
- metafields: Maybe<Metafield>[];
839
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
840
+ metafields: Array<Maybe<Metafield>>;
716
841
  /** The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. */
717
842
  onlineStoreUrl?: Maybe<Scalars['URL']>;
718
843
  /** List of products in the collection. */
@@ -721,6 +846,8 @@ type Collection = HasMetafields & Node & OnlineStorePublishable & {
721
846
  seo: Seo;
722
847
  /** The collection’s name. Limit of 255 characters. */
723
848
  title: Scalars['String'];
849
+ /** URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. */
850
+ trackingParameters?: Maybe<Scalars['String']>;
724
851
  /** The date and time when the collection was last modified. */
725
852
  updatedAt: Scalars['DateTime'];
726
853
  };
@@ -730,11 +857,13 @@ type Collection = HasMetafields & Node & OnlineStorePublishable & {
730
857
  */
731
858
  type CollectionConnection = {
732
859
  /** A list of edges. */
733
- edges: CollectionEdge[];
860
+ edges: Array<CollectionEdge>;
734
861
  /** A list of the nodes contained in CollectionEdge. */
735
- nodes: Collection[];
862
+ nodes: Array<Collection>;
736
863
  /** Information to aid in pagination. */
737
864
  pageInfo: PageInfo;
865
+ /** The total count of Collections. */
866
+ totalCount: Scalars['UnsignedInt64'];
738
867
  };
739
868
  /**
740
869
  * An auto-generated type which holds one Collection and a cursor during pagination.
@@ -754,7 +883,7 @@ type Comment = Node & {
754
883
  content: Scalars['String'];
755
884
  /** The content of the comment, complete with HTML formatting. */
756
885
  contentHtml: Scalars['HTML'];
757
- /** A globally-unique identifier. */
886
+ /** A globally-unique ID. */
758
887
  id: Scalars['ID'];
759
888
  };
760
889
  /** The author of a comment. */
@@ -770,9 +899,9 @@ type CommentAuthor = {
770
899
  */
771
900
  type CommentConnection = {
772
901
  /** A list of edges. */
773
- edges: CommentEdge[];
902
+ edges: Array<CommentEdge>;
774
903
  /** A list of the nodes contained in CommentEdge. */
775
- nodes: Comment[];
904
+ nodes: Array<Comment>;
776
905
  /** Information to aid in pagination. */
777
906
  pageInfo: PageInfo;
778
907
  };
@@ -786,14 +915,42 @@ type CommentEdge = {
786
915
  /** The item at the end of CommentEdge. */
787
916
  node: Comment;
788
917
  };
918
+ /** Represents information about the grouped merchandise in the cart. */
919
+ type ComponentizableCartLine = BaseCartLine & Node & {
920
+ /** An attribute associated with the cart line. */
921
+ attribute?: Maybe<Attribute>;
922
+ /** The attributes associated with the cart line. Attributes are represented as key-value pairs. */
923
+ attributes: Array<Attribute>;
924
+ /** The cost of the merchandise that the buyer will pay for at checkout. The costs are subject to change and changes will be reflected at checkout. */
925
+ cost: CartLineCost;
926
+ /** The discounts that have been applied to the cart line. */
927
+ discountAllocations: Array<CartDiscountAllocation>;
928
+ /**
929
+ * The estimated cost of the merchandise that the buyer will pay for at checkout. The estimated costs are subject to change and changes will be reflected at checkout.
930
+ * @deprecated Use `cost` instead.
931
+ */
932
+ estimatedCost: CartLineEstimatedCost;
933
+ /** A globally-unique ID. */
934
+ id: Scalars['ID'];
935
+ /** The components of the line item. */
936
+ lineComponents: Array<CartLine>;
937
+ /** The merchandise that the buyer intends to purchase. */
938
+ merchandise: Merchandise;
939
+ /** The quantity of the merchandise that the customer intends to purchase. */
940
+ quantity: Scalars['Int'];
941
+ /** The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased. */
942
+ sellingPlanAllocation?: Maybe<SellingPlanAllocation>;
943
+ };
789
944
  /** A country. */
790
945
  type Country = {
791
946
  /** The languages available for the country. */
792
- availableLanguages: Language[];
947
+ availableLanguages: Array<Language>;
793
948
  /** The currency of the country. */
794
949
  currency: Currency;
795
950
  /** The ISO code of the country. */
796
951
  isoCode: CountryCode;
952
+ /** The market that includes this country. */
953
+ market?: Maybe<Market>;
797
954
  /** The name of the country. */
798
955
  name: Scalars['String'];
799
956
  /** The unit system used in the country. */
@@ -1245,7 +1402,7 @@ type CountryCode =
1245
1402
  | 'TN'
1246
1403
  /** Tonga. */
1247
1404
  | 'TO'
1248
- /** Turkey. */
1405
+ /** Türkiye. */
1249
1406
  | 'TR'
1250
1407
  /** Trinidad & Tobago. */
1251
1408
  | 'TT'
@@ -1307,7 +1464,8 @@ type Currency = {
1307
1464
  symbol: Scalars['String'];
1308
1465
  };
1309
1466
  /**
1310
- * The three-letter currency codes that represent the world currencies used in stores. These include standard ISO 4217 codes, legacy codes,
1467
+ * The three-letter currency codes that represent the world currencies used in
1468
+ * stores. These include standard ISO 4217 codes, legacy codes,
1311
1469
  * and non-standard codes.
1312
1470
  *
1313
1471
  */
@@ -1610,7 +1768,7 @@ type CurrencyCode =
1610
1768
  | 'VED'
1611
1769
  /** Venezuelan Bolivares (VEF). */
1612
1770
  | 'VEF'
1613
- /** Venezuelan Bolivares (VES). */
1771
+ /** Venezuelan Bolivares Soberanos (VES). */
1614
1772
  | 'VES'
1615
1773
  /** Vietnamese đồng (VND). */
1616
1774
  | 'VND'
@@ -1650,19 +1808,21 @@ type Customer = HasMetafields & {
1650
1808
  email?: Maybe<Scalars['String']>;
1651
1809
  /** The customer’s first name. */
1652
1810
  firstName?: Maybe<Scalars['String']>;
1653
- /** A unique identifier for the customer. */
1811
+ /** A unique ID for the customer. */
1654
1812
  id: Scalars['ID'];
1655
- /** The customer's most recently updated, incomplete checkout. */
1813
+ /**
1814
+ * The customer's most recently updated, incomplete checkout.
1815
+ * @deprecated The Storefront GraphQL Checkout API is deprecated and will be removed in a future version. Please see https://shopify.dev/changelog/deprecation-of-checkout-apis for more information.
1816
+ */
1656
1817
  lastIncompleteCheckout?: Maybe<Checkout>;
1657
1818
  /** The customer’s last name. */
1658
1819
  lastName?: Maybe<Scalars['String']>;
1659
1820
  /** Returns a metafield found by namespace and key. */
1660
1821
  metafield?: Maybe<Metafield>;
1661
- /**
1662
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
1663
- *
1664
- */
1665
- metafields: Maybe<Metafield>[];
1822
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
1823
+ metafields: Array<Maybe<Metafield>>;
1824
+ /** The number of orders that the customer has made at the store in their lifetime. */
1825
+ numberOfOrders: Scalars['UnsignedInt64'];
1666
1826
  /** The orders associated with the customer. */
1667
1827
  orders: OrderConnection;
1668
1828
  /** The customer’s phone number. */
@@ -1672,10 +1832,25 @@ type Customer = HasMetafields & {
1672
1832
  * Additional access scope required: unauthenticated_read_customer_tags.
1673
1833
  *
1674
1834
  */
1675
- tags: Scalars['String'][];
1835
+ tags: Array<Scalars['String']>;
1676
1836
  /** The date and time when the customer information was updated. */
1677
1837
  updatedAt: Scalars['DateTime'];
1678
1838
  };
1839
+ /** A delivery address of the buyer that is interacting with the cart. */
1840
+ type DeliveryAddress = MailingAddress;
1841
+ /**
1842
+ * The input fields for delivery address preferences.
1843
+ *
1844
+ */
1845
+ type DeliveryAddressInput = {
1846
+ /**
1847
+ * The ID of a customer address that is associated with the buyer that is interacting with the cart.
1848
+ *
1849
+ */
1850
+ customerAddressId?: InputMaybe<Scalars['ID']>;
1851
+ /** A delivery address preference of a buyer that is interacting with the cart. */
1852
+ deliveryAddress?: InputMaybe<MailingAddressInput>;
1853
+ };
1679
1854
  /** List of different delivery method types. */
1680
1855
  type DeliveryMethodType =
1681
1856
  /** Local Delivery. */
@@ -1739,9 +1914,9 @@ type DiscountApplicationAllocationMethod =
1739
1914
  */
1740
1915
  type DiscountApplicationConnection = {
1741
1916
  /** A list of edges. */
1742
- edges: DiscountApplicationEdge[];
1917
+ edges: Array<DiscountApplicationEdge>;
1743
1918
  /** A list of the nodes contained in DiscountApplicationEdge. */
1744
- nodes: DiscountApplication[];
1919
+ nodes: Array<DiscountApplication>;
1745
1920
  /** Information to aid in pagination. */
1746
1921
  pageInfo: PageInfo;
1747
1922
  };
@@ -1781,7 +1956,7 @@ type DiscountApplicationTargetType =
1781
1956
  /** Represents an error in the input of a mutation. */
1782
1957
  type DisplayableError = {
1783
1958
  /** The path to the input field that caused the error. */
1784
- field?: Maybe<Scalars['String'][]>;
1959
+ field?: Maybe<Array<Scalars['String']>>;
1785
1960
  /** The error message. */
1786
1961
  message: Scalars['String'];
1787
1962
  };
@@ -1803,13 +1978,13 @@ type Filter = {
1803
1978
  /** An enumeration that denotes the type of data this filter represents. */
1804
1979
  type: FilterType;
1805
1980
  /** The list of values for this filter. */
1806
- values: FilterValue[];
1981
+ values: Array<FilterValue>;
1807
1982
  };
1808
1983
  /**
1809
1984
  * The type of data that the filter group represents.
1810
1985
  *
1811
1986
  * For more information, refer to [Filter products in a collection with the Storefront API]
1812
- * (https://shopify.dev/api/examples/filter-products).
1987
+ * (https://shopify.dev/custom-storefronts/products-collections/filter-products).
1813
1988
  *
1814
1989
  */
1815
1990
  type FilterType =
@@ -1828,7 +2003,9 @@ type FilterValue = {
1828
2003
  /**
1829
2004
  * An input object that can be used to filter by this value on the parent field.
1830
2005
  *
1831
- * The value is provided as a helper for building dynamic filtering UI. For example, if you have a list of selected `FilterValue` objects, you can combine their respective `input` values to use in a subsequent query.
2006
+ * The value is provided as a helper for building dynamic filtering UI. For
2007
+ * example, if you have a list of selected `FilterValue` objects, you can combine
2008
+ * their respective `input` values to use in a subsequent query.
1832
2009
  *
1833
2010
  */
1834
2011
  input: Scalars['JSON'];
@@ -1846,7 +2023,7 @@ type Fulfillment = {
1846
2023
  * such as the tracking number and tracking URL.
1847
2024
  *
1848
2025
  */
1849
- trackingInfo: FulfillmentTrackingInfo[];
2026
+ trackingInfo: Array<FulfillmentTrackingInfo>;
1850
2027
  };
1851
2028
  /** Represents a single line item in a fulfillment. There is at most one fulfillment line item for each order line item. */
1852
2029
  type FulfillmentLineItem = {
@@ -1861,9 +2038,9 @@ type FulfillmentLineItem = {
1861
2038
  */
1862
2039
  type FulfillmentLineItemConnection = {
1863
2040
  /** A list of edges. */
1864
- edges: FulfillmentLineItemEdge[];
2041
+ edges: Array<FulfillmentLineItemEdge>;
1865
2042
  /** A list of the nodes contained in FulfillmentLineItemEdge. */
1866
- nodes: FulfillmentLineItem[];
2043
+ nodes: Array<FulfillmentLineItem>;
1867
2044
  /** Information to aid in pagination. */
1868
2045
  pageInfo: PageInfo;
1869
2046
  };
@@ -1888,7 +2065,7 @@ type FulfillmentTrackingInfo = {
1888
2065
  type GenericFile = Node & {
1889
2066
  /** A word or phrase to indicate the contents of a file. */
1890
2067
  alt?: Maybe<Scalars['String']>;
1891
- /** A globally-unique identifier. */
2068
+ /** A globally-unique ID. */
1892
2069
  id: Scalars['ID'];
1893
2070
  /** The MIME type of the file. */
1894
2071
  mimeType?: Maybe<Scalars['String']>;
@@ -1903,38 +2080,35 @@ type GenericFile = Node & {
1903
2080
  type HasMetafields = {
1904
2081
  /** Returns a metafield found by namespace and key. */
1905
2082
  metafield?: Maybe<Metafield>;
1906
- /**
1907
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
1908
- *
1909
- */
1910
- metafields: Maybe<Metafield>[];
2083
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2084
+ metafields: Array<Maybe<Metafield>>;
1911
2085
  };
1912
2086
  /** Represents an image resource. */
1913
2087
  type Image = {
1914
2088
  /** A word or phrase to share the nature or contents of an image. */
1915
2089
  altText?: Maybe<Scalars['String']>;
1916
- /** The original height of the image in pixels. Returns `null` if the image is not hosted by Shopify. */
2090
+ /** The original height of the image in pixels. Returns `null` if the image isn't hosted by Shopify. */
1917
2091
  height?: Maybe<Scalars['Int']>;
1918
- /** A unique identifier for the image. */
2092
+ /** A unique ID for the image. */
1919
2093
  id?: Maybe<Scalars['ID']>;
1920
2094
  /**
1921
2095
  * The location of the original image as a URL.
1922
2096
  *
1923
2097
  * If there are any existing transformations in the original source URL, they will remain and not be stripped.
1924
2098
  *
1925
- * @deprecated Use `url` instead
2099
+ * @deprecated Use `url` instead.
1926
2100
  */
1927
2101
  originalSrc: Scalars['URL'];
1928
2102
  /**
1929
2103
  * The location of the image as a URL.
1930
- * @deprecated Use `url` instead
2104
+ * @deprecated Use `url` instead.
1931
2105
  */
1932
2106
  src: Scalars['URL'];
1933
2107
  /**
1934
2108
  * The location of the transformed image as a URL.
1935
2109
  *
1936
2110
  * All transformation arguments are considered "best-effort". If they can be applied to an image, they will be.
1937
- * Otherwise any transformations which an image type does not support will be ignored.
2111
+ * Otherwise any transformations which an image type doesn't support will be ignored.
1938
2112
  *
1939
2113
  * @deprecated Use `url(transform:)` instead
1940
2114
  */
@@ -1950,7 +2124,7 @@ type Image = {
1950
2124
  *
1951
2125
  */
1952
2126
  url: Scalars['URL'];
1953
- /** The original width of the image in pixels. Returns `null` if the image is not hosted by Shopify. */
2127
+ /** The original width of the image in pixels. Returns `null` if the image isn't hosted by Shopify. */
1954
2128
  width?: Maybe<Scalars['Int']>;
1955
2129
  };
1956
2130
  /**
@@ -1959,9 +2133,9 @@ type Image = {
1959
2133
  */
1960
2134
  type ImageConnection = {
1961
2135
  /** A list of edges. */
1962
- edges: ImageEdge[];
2136
+ edges: Array<ImageEdge>;
1963
2137
  /** A list of the nodes contained in ImageEdge. */
1964
- nodes: Image[];
2138
+ nodes: Array<Image>;
1965
2139
  /** Information to aid in pagination. */
1966
2140
  pageInfo: PageInfo;
1967
2141
  };
@@ -1984,7 +2158,7 @@ type Language = {
1984
2158
  /** The name of the language in the current language. */
1985
2159
  name: Scalars['String'];
1986
2160
  };
1987
- /** ISO 639-1 language codes supported by Shopify. */
2161
+ /** Language codes supported by Shopify. */
1988
2162
  type LanguageCode =
1989
2163
  /** Afrikaans. */
1990
2164
  'AF'
@@ -2016,6 +2190,8 @@ type LanguageCode =
2016
2190
  | 'CA'
2017
2191
  /** Chechen. */
2018
2192
  | 'CE'
2193
+ /** Central Kurdish. */
2194
+ | 'CKB'
2019
2195
  /** Czech. */
2020
2196
  | 'CS'
2021
2197
  /** Church Slavic. */
@@ -2048,6 +2224,8 @@ type LanguageCode =
2048
2224
  | 'FF'
2049
2225
  /** Finnish. */
2050
2226
  | 'FI'
2227
+ /** Filipino. */
2228
+ | 'FIL'
2051
2229
  /** Faroese. */
2052
2230
  | 'FO'
2053
2231
  /** French. */
@@ -2114,6 +2292,8 @@ type LanguageCode =
2114
2292
  | 'KW'
2115
2293
  /** Kyrgyz. */
2116
2294
  | 'KY'
2295
+ /** Latin. */
2296
+ | 'LA'
2117
2297
  /** Luxembourgish. */
2118
2298
  | 'LB'
2119
2299
  /** Ganda. */
@@ -2138,6 +2318,8 @@ type LanguageCode =
2138
2318
  | 'ML'
2139
2319
  /** Mongolian. */
2140
2320
  | 'MN'
2321
+ /** Moldavian. */
2322
+ | 'MO'
2141
2323
  /** Marathi. */
2142
2324
  | 'MR'
2143
2325
  /** Malay. */
@@ -2188,12 +2370,18 @@ type LanguageCode =
2188
2370
  | 'RU'
2189
2371
  /** Kinyarwanda. */
2190
2372
  | 'RW'
2373
+ /** Sanskrit. */
2374
+ | 'SA'
2375
+ /** Sardinian. */
2376
+ | 'SC'
2191
2377
  /** Sindhi. */
2192
2378
  | 'SD'
2193
2379
  /** Northern Sami. */
2194
2380
  | 'SE'
2195
2381
  /** Sango. */
2196
2382
  | 'SG'
2383
+ /** Serbo-Croatian. */
2384
+ | 'SH'
2197
2385
  /** Sinhala. */
2198
2386
  | 'SI'
2199
2387
  /** Slovak. */
@@ -2261,11 +2449,15 @@ type LanguageCode =
2261
2449
  /** Zulu. */
2262
2450
  | 'ZU';
2263
2451
  /** Represents a location where product inventory is held. */
2264
- type Location = Node & {
2452
+ type Location = HasMetafields & Node & {
2265
2453
  /** The address of the location. */
2266
2454
  address: LocationAddress;
2267
- /** A globally-unique identifier. */
2455
+ /** A globally-unique ID. */
2268
2456
  id: Scalars['ID'];
2457
+ /** Returns a metafield found by namespace and key. */
2458
+ metafield?: Maybe<Metafield>;
2459
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2460
+ metafields: Array<Maybe<Metafield>>;
2269
2461
  /** The name of the location. */
2270
2462
  name: Scalars['String'];
2271
2463
  };
@@ -2285,7 +2477,7 @@ type LocationAddress = {
2285
2477
  /** The country code of the location. */
2286
2478
  countryCode?: Maybe<Scalars['String']>;
2287
2479
  /** A formatted version of the address for the location. */
2288
- formatted: Scalars['String'][];
2480
+ formatted: Array<Scalars['String']>;
2289
2481
  /** The latitude coordinates of the location. */
2290
2482
  latitude?: Maybe<Scalars['Float']>;
2291
2483
  /** The longitude coordinates of the location. */
@@ -2311,27 +2503,18 @@ type MailingAddress = Node & {
2311
2503
  *
2312
2504
  */
2313
2505
  address2?: Maybe<Scalars['String']>;
2314
- /**
2315
- * The name of the city, district, village, or town.
2316
- *
2317
- */
2506
+ /** The name of the city, district, village, or town. */
2318
2507
  city?: Maybe<Scalars['String']>;
2319
- /**
2320
- * The name of the customer's company or organization.
2321
- *
2322
- */
2508
+ /** The name of the customer's company or organization. */
2323
2509
  company?: Maybe<Scalars['String']>;
2324
- /**
2325
- * The name of the country.
2326
- *
2327
- */
2510
+ /** The name of the country. */
2328
2511
  country?: Maybe<Scalars['String']>;
2329
2512
  /**
2330
2513
  * The two-letter code for the country of the address.
2331
2514
  *
2332
2515
  * For example, US.
2333
2516
  *
2334
- * @deprecated Use `countryCodeV2` instead
2517
+ * @deprecated Use `countryCodeV2` instead.
2335
2518
  */
2336
2519
  countryCode?: Maybe<Scalars['String']>;
2337
2520
  /**
@@ -2344,10 +2527,10 @@ type MailingAddress = Node & {
2344
2527
  /** The first name of the customer. */
2345
2528
  firstName?: Maybe<Scalars['String']>;
2346
2529
  /** A formatted version of the address, customized by the provided arguments. */
2347
- formatted: Scalars['String'][];
2530
+ formatted: Array<Scalars['String']>;
2348
2531
  /** A comma-separated list of the values for city, province, and country. */
2349
2532
  formattedArea?: Maybe<Scalars['String']>;
2350
- /** A globally-unique identifier. */
2533
+ /** A globally-unique ID. */
2351
2534
  id: Scalars['ID'];
2352
2535
  /** The last name of the customer. */
2353
2536
  lastName?: Maybe<Scalars['String']>;
@@ -2355,10 +2538,7 @@ type MailingAddress = Node & {
2355
2538
  latitude?: Maybe<Scalars['Float']>;
2356
2539
  /** The longitude coordinate of the customer address. */
2357
2540
  longitude?: Maybe<Scalars['Float']>;
2358
- /**
2359
- * The full name of the customer, based on firstName and lastName.
2360
- *
2361
- */
2541
+ /** The full name of the customer, based on firstName and lastName. */
2362
2542
  name?: Maybe<Scalars['String']>;
2363
2543
  /**
2364
2544
  * A unique phone number for the customer.
@@ -2370,7 +2550,7 @@ type MailingAddress = Node & {
2370
2550
  /** The region of the address, such as the province, state, or district. */
2371
2551
  province?: Maybe<Scalars['String']>;
2372
2552
  /**
2373
- * The two-letter code for the region.
2553
+ * The alphanumeric code for the region.
2374
2554
  *
2375
2555
  * For example, ON.
2376
2556
  *
@@ -2385,9 +2565,9 @@ type MailingAddress = Node & {
2385
2565
  */
2386
2566
  type MailingAddressConnection = {
2387
2567
  /** A list of edges. */
2388
- edges: MailingAddressEdge[];
2568
+ edges: Array<MailingAddressEdge>;
2389
2569
  /** A list of the nodes contained in MailingAddressEdge. */
2390
- nodes: MailingAddress[];
2570
+ nodes: Array<MailingAddress>;
2391
2571
  /** Information to aid in pagination. */
2392
2572
  pageInfo: PageInfo;
2393
2573
  };
@@ -2401,12 +2581,70 @@ type MailingAddressEdge = {
2401
2581
  /** The item at the end of MailingAddressEdge. */
2402
2582
  node: MailingAddress;
2403
2583
  };
2584
+ /** The input fields to create or update a mailing address. */
2585
+ type MailingAddressInput = {
2586
+ /**
2587
+ * The first line of the address. Typically the street address or PO Box number.
2588
+ *
2589
+ */
2590
+ address1?: InputMaybe<Scalars['String']>;
2591
+ /**
2592
+ * The second line of the address. Typically the number of the apartment, suite, or unit.
2593
+ *
2594
+ */
2595
+ address2?: InputMaybe<Scalars['String']>;
2596
+ /**
2597
+ * The name of the city, district, village, or town.
2598
+ *
2599
+ */
2600
+ city?: InputMaybe<Scalars['String']>;
2601
+ /**
2602
+ * The name of the customer's company or organization.
2603
+ *
2604
+ */
2605
+ company?: InputMaybe<Scalars['String']>;
2606
+ /** The name of the country. */
2607
+ country?: InputMaybe<Scalars['String']>;
2608
+ /** The first name of the customer. */
2609
+ firstName?: InputMaybe<Scalars['String']>;
2610
+ /** The last name of the customer. */
2611
+ lastName?: InputMaybe<Scalars['String']>;
2612
+ /**
2613
+ * A unique phone number for the customer.
2614
+ *
2615
+ * Formatted using E.164 standard. For example, _+16135551111_.
2616
+ *
2617
+ */
2618
+ phone?: InputMaybe<Scalars['String']>;
2619
+ /** The region of the address, such as the province, state, or district. */
2620
+ province?: InputMaybe<Scalars['String']>;
2621
+ /** The zip or postal code of the address. */
2622
+ zip?: InputMaybe<Scalars['String']>;
2623
+ };
2624
+ /** A group of one or more regions of the world that a merchant is targeting for sales. To learn more about markets, refer to [the Shopify Markets conceptual overview](/docs/apps/markets). */
2625
+ type Market = HasMetafields & Node & {
2626
+ /**
2627
+ * A human-readable unique string for the market automatically generated from its title.
2628
+ *
2629
+ */
2630
+ handle: Scalars['String'];
2631
+ /** A globally-unique ID. */
2632
+ id: Scalars['ID'];
2633
+ /** Returns a metafield found by namespace and key. */
2634
+ metafield?: Maybe<Metafield>;
2635
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2636
+ metafields: Array<Maybe<Metafield>>;
2637
+ };
2404
2638
  /** Represents a media interface. */
2405
2639
  type Media = {
2406
2640
  /** A word or phrase to share the nature or contents of a media. */
2407
2641
  alt?: Maybe<Scalars['String']>;
2642
+ /** A globally-unique ID. */
2643
+ id: Scalars['ID'];
2408
2644
  /** The media content type. */
2409
2645
  mediaContentType: MediaContentType;
2646
+ /** The presentation for a media. */
2647
+ presentation?: Maybe<MediaPresentation>;
2410
2648
  /** The preview image for the media. */
2411
2649
  previewImage?: Maybe<Image>;
2412
2650
  };
@@ -2416,9 +2654,9 @@ type Media = {
2416
2654
  */
2417
2655
  type MediaConnection = {
2418
2656
  /** A list of edges. */
2419
- edges: MediaEdge[];
2657
+ edges: Array<MediaEdge>;
2420
2658
  /** A list of the nodes contained in MediaEdge. */
2421
- nodes: Media[];
2659
+ nodes: Array<Media>;
2422
2660
  /** Information to aid in pagination. */
2423
2661
  pageInfo: PageInfo;
2424
2662
  };
@@ -2446,15 +2684,24 @@ type MediaEdge = {
2446
2684
  type MediaImage = Media & Node & {
2447
2685
  /** A word or phrase to share the nature or contents of a media. */
2448
2686
  alt?: Maybe<Scalars['String']>;
2449
- /** A globally-unique identifier. */
2687
+ /** A globally-unique ID. */
2450
2688
  id: Scalars['ID'];
2451
2689
  /** The image for the media. */
2452
2690
  image?: Maybe<Image>;
2453
2691
  /** The media content type. */
2454
2692
  mediaContentType: MediaContentType;
2693
+ /** The presentation for a media. */
2694
+ presentation?: Maybe<MediaPresentation>;
2455
2695
  /** The preview image for the media. */
2456
2696
  previewImage?: Maybe<Image>;
2457
2697
  };
2698
+ /** A media presentation. */
2699
+ type MediaPresentation = Node & {
2700
+ /** A JSON object representing a presentation view. */
2701
+ asJson?: Maybe<Scalars['JSON']>;
2702
+ /** A globally-unique ID. */
2703
+ id: Scalars['ID'];
2704
+ };
2458
2705
  /** The merchandise to be purchased at checkout. */
2459
2706
  type Merchandise = ProductVariant;
2460
2707
  /**
@@ -2467,34 +2714,109 @@ type Metafield = Node & {
2467
2714
  createdAt: Scalars['DateTime'];
2468
2715
  /** The description of a metafield. */
2469
2716
  description?: Maybe<Scalars['String']>;
2470
- /** A globally-unique identifier. */
2717
+ /** A globally-unique ID. */
2471
2718
  id: Scalars['ID'];
2472
- /** The key name for a metafield. */
2719
+ /** The unique identifier for the metafield within its namespace. */
2473
2720
  key: Scalars['String'];
2474
- /** The namespace for a metafield. */
2721
+ /** The container for a group of metafields that the metafield is associated with. */
2475
2722
  namespace: Scalars['String'];
2476
- /** The parent object that the metafield belongs to. */
2723
+ /** The type of resource that the metafield is attached to. */
2477
2724
  parentResource: MetafieldParentResource;
2478
- /** Returns a reference object if the metafield definition's type is a resource reference. */
2725
+ /** Returns a reference object if the metafield's type is a resource reference. */
2479
2726
  reference?: Maybe<MetafieldReference>;
2727
+ /** A list of reference objects if the metafield's type is a resource reference list. */
2728
+ references?: Maybe<MetafieldReferenceConnection>;
2480
2729
  /**
2481
2730
  * The type name of the metafield.
2482
- * See the list of [supported types](https://shopify.dev/apps/metafields/definitions/types).
2731
+ * Refer to the list of [supported types](https://shopify.dev/apps/metafields/definitions/types).
2483
2732
  *
2484
2733
  */
2485
2734
  type: Scalars['String'];
2486
- /** The date and time when the storefront metafield was updated. */
2735
+ /** The date and time when the metafield was last updated. */
2487
2736
  updatedAt: Scalars['DateTime'];
2488
- /** The value of a metafield. */
2737
+ /** The data stored in the metafield. Always stored as a string, regardless of the metafield's type. */
2489
2738
  value: Scalars['String'];
2490
2739
  };
2491
2740
  /** A resource that the metafield belongs to. */
2492
- type MetafieldParentResource = Article | Blog | Collection | Customer | Order | Page | Product | ProductVariant | Shop;
2741
+ type MetafieldParentResource = Article | Blog | Cart | Collection | Customer | Location | Market | Order | Page | Product | ProductVariant | Shop;
2493
2742
  /**
2494
2743
  * Returns the resource which is being referred to by a metafield.
2495
2744
  *
2496
2745
  */
2497
- type MetafieldReference = GenericFile | MediaImage | Page | Product | ProductVariant | Video;
2746
+ type MetafieldReference = Collection | GenericFile | MediaImage | Metaobject | Page | Product | ProductVariant | Video;
2747
+ /**
2748
+ * An auto-generated type for paginating through multiple MetafieldReferences.
2749
+ *
2750
+ */
2751
+ type MetafieldReferenceConnection = {
2752
+ /** A list of edges. */
2753
+ edges: Array<MetafieldReferenceEdge>;
2754
+ /** A list of the nodes contained in MetafieldReferenceEdge. */
2755
+ nodes: Array<MetafieldReference>;
2756
+ /** Information to aid in pagination. */
2757
+ pageInfo: PageInfo;
2758
+ };
2759
+ /**
2760
+ * An auto-generated type which holds one MetafieldReference and a cursor during pagination.
2761
+ *
2762
+ */
2763
+ type MetafieldReferenceEdge = {
2764
+ /** A cursor for use in pagination. */
2765
+ cursor: Scalars['String'];
2766
+ /** The item at the end of MetafieldReferenceEdge. */
2767
+ node: MetafieldReference;
2768
+ };
2769
+ /** An instance of a user-defined model based on a MetaobjectDefinition. */
2770
+ type Metaobject = Node & OnlineStorePublishable & {
2771
+ /** Accesses a field of the object by key. */
2772
+ field?: Maybe<MetaobjectField>;
2773
+ /**
2774
+ * All object fields with defined values.
2775
+ * Omitted object keys can be assumed null, and no guarantees are made about field order.
2776
+ *
2777
+ */
2778
+ fields: Array<MetaobjectField>;
2779
+ /** The unique handle of the metaobject. Useful as a custom ID. */
2780
+ handle: Scalars['String'];
2781
+ /** A globally-unique ID. */
2782
+ id: Scalars['ID'];
2783
+ /** The URL used for viewing the metaobject on the shop's Online Store. Returns `null` if the metaobject definition doesn't have the `online_store` capability. */
2784
+ onlineStoreUrl?: Maybe<Scalars['URL']>;
2785
+ /**
2786
+ * The metaobject's SEO information. Returns `null` if the metaobject definition
2787
+ * doesn't have the `renderable` capability.
2788
+ *
2789
+ */
2790
+ seo?: Maybe<MetaobjectSeo>;
2791
+ /** The type of the metaobject. Defines the namespace of its associated metafields. */
2792
+ type: Scalars['String'];
2793
+ /** The date and time when the metaobject was last updated. */
2794
+ updatedAt: Scalars['DateTime'];
2795
+ };
2796
+ /** Provides the value of a Metaobject field. */
2797
+ type MetaobjectField = {
2798
+ /** The field key. */
2799
+ key: Scalars['String'];
2800
+ /** A referenced object if the field type is a resource reference. */
2801
+ reference?: Maybe<MetafieldReference>;
2802
+ /** A list of referenced objects if the field type is a resource reference list. */
2803
+ references?: Maybe<MetafieldReferenceConnection>;
2804
+ /**
2805
+ * The type name of the field.
2806
+ * See the list of [supported types](https://shopify.dev/apps/metafields/definitions/types).
2807
+ *
2808
+ */
2809
+ type: Scalars['String'];
2810
+ /** The field value. */
2811
+ value?: Maybe<Scalars['String']>;
2812
+ };
2813
+ /** SEO information for a metaobject. */
2814
+ type MetaobjectSeo = {
2815
+ /** The meta description. */
2816
+ description?: Maybe<MetaobjectField>;
2817
+ /** The SEO title. */
2818
+ title?: Maybe<MetaobjectField>;
2819
+ };
2498
2820
  /**
2499
2821
  * A monetary value with currency.
2500
2822
  *
@@ -2513,7 +2835,7 @@ type MoneyV2 = {
2513
2835
  *
2514
2836
  */
2515
2837
  type Node = {
2516
- /** A globally-unique identifier. */
2838
+ /** A globally-unique ID. */
2517
2839
  id: Scalars['ID'];
2518
2840
  };
2519
2841
  /** Represents a resource that can be published to the Online Store sales channel. */
@@ -2523,13 +2845,15 @@ type OnlineStorePublishable = {
2523
2845
  };
2524
2846
  /** An order is a customer’s completed request to purchase one or more products from a shop. An order is created when a customer completes the checkout process, during which time they provides an email address, billing address and payment information. */
2525
2847
  type Order = HasMetafields & Node & {
2848
+ /** The address associated with the payment method. */
2849
+ billingAddress?: Maybe<MailingAddress>;
2526
2850
  /** The reason for the order's cancellation. Returns `null` if the order wasn't canceled. */
2527
2851
  cancelReason?: Maybe<OrderCancelReason>;
2528
2852
  /** The date and time when the order was canceled. Returns null if the order wasn't canceled. */
2529
2853
  canceledAt?: Maybe<Scalars['DateTime']>;
2530
2854
  /** The code of the currency used for the payment. */
2531
2855
  currencyCode: CurrencyCode;
2532
- /** The subtotal of line items and their discounts, excluding line items that have been removed. Does not contain order-level discounts, duties, shipping costs, or shipping discounts. Taxes are not included unless the order is a taxes-included order. */
2856
+ /** The subtotal of line items and their discounts, excluding line items that have been removed. Does not contain order-level discounts, duties, shipping costs, or shipping discounts. Taxes aren't included unless the order is a taxes-included order. */
2533
2857
  currentSubtotalPrice: MoneyV2;
2534
2858
  /** The total cost of duties for the order, including refunds. */
2535
2859
  currentTotalDuties?: Maybe<MoneyV2>;
@@ -2537,6 +2861,8 @@ type Order = HasMetafields & Node & {
2537
2861
  currentTotalPrice: MoneyV2;
2538
2862
  /** The total of all taxes applied to the order, excluding taxes for returned line items. */
2539
2863
  currentTotalTax: MoneyV2;
2864
+ /** A list of the custom attributes added to the order. For example, whether an order is a customer's first. */
2865
+ customAttributes: Array<Attribute>;
2540
2866
  /** The locale code in which this specific order happened. */
2541
2867
  customerLocale?: Maybe<Scalars['String']>;
2542
2868
  /** The unique URL that the customer can use to access the order. */
@@ -2551,17 +2877,14 @@ type Order = HasMetafields & Node & {
2551
2877
  financialStatus?: Maybe<OrderFinancialStatus>;
2552
2878
  /** The fulfillment status for the order. */
2553
2879
  fulfillmentStatus: OrderFulfillmentStatus;
2554
- /** A globally-unique identifier. */
2880
+ /** A globally-unique ID. */
2555
2881
  id: Scalars['ID'];
2556
2882
  /** List of the order’s line items. */
2557
2883
  lineItems: OrderLineItemConnection;
2558
2884
  /** Returns a metafield found by namespace and key. */
2559
2885
  metafield?: Maybe<Metafield>;
2560
- /**
2561
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
2562
- *
2563
- */
2564
- metafields: Maybe<Metafield>[];
2886
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2887
+ metafields: Array<Maybe<Metafield>>;
2565
2888
  /**
2566
2889
  * Unique identifier for the order that appears on the order.
2567
2890
  * For example, _#1000_ or _Store1001.
@@ -2589,45 +2912,45 @@ type Order = HasMetafields & Node & {
2589
2912
  * The discounts that have been allocated onto the shipping line by discount applications.
2590
2913
  *
2591
2914
  */
2592
- shippingDiscountAllocations: DiscountAllocation[];
2915
+ shippingDiscountAllocations: Array<DiscountAllocation>;
2593
2916
  /** The unique URL for the order's status page. */
2594
2917
  statusUrl: Scalars['URL'];
2918
+ /** Price of the order before shipping and taxes. */
2919
+ subtotalPrice?: Maybe<MoneyV2>;
2595
2920
  /**
2596
- * Price of the order before shipping and taxes.
2597
- * @deprecated Use `subtotalPriceV2` instead
2921
+ * Price of the order before duties, shipping and taxes.
2922
+ * @deprecated Use `subtotalPrice` instead.
2598
2923
  */
2599
- subtotalPrice?: Maybe<Scalars['Money']>;
2600
- /** Price of the order before duties, shipping and taxes. */
2601
2924
  subtotalPriceV2?: Maybe<MoneyV2>;
2602
2925
  /** List of the order’s successful fulfillments. */
2603
- successfulFulfillments?: Maybe<Fulfillment[]>;
2926
+ successfulFulfillments?: Maybe<Array<Fulfillment>>;
2927
+ /** The sum of all the prices of all the items in the order, duties, taxes and discounts included (must be positive). */
2928
+ totalPrice: MoneyV2;
2604
2929
  /**
2605
- * The sum of all the prices of all the items in the order, taxes and discounts included (must be positive).
2606
- * @deprecated Use `totalPriceV2` instead
2930
+ * The sum of all the prices of all the items in the order, duties, taxes and discounts included (must be positive).
2931
+ * @deprecated Use `totalPrice` instead.
2607
2932
  */
2608
- totalPrice: Scalars['Money'];
2609
- /** The sum of all the prices of all the items in the order, duties, taxes and discounts included (must be positive). */
2610
2933
  totalPriceV2: MoneyV2;
2934
+ /** The total amount that has been refunded. */
2935
+ totalRefunded: MoneyV2;
2611
2936
  /**
2612
2937
  * The total amount that has been refunded.
2613
- * @deprecated Use `totalRefundedV2` instead
2938
+ * @deprecated Use `totalRefunded` instead.
2614
2939
  */
2615
- totalRefunded: Scalars['Money'];
2616
- /** The total amount that has been refunded. */
2617
2940
  totalRefundedV2: MoneyV2;
2941
+ /** The total cost of shipping. */
2942
+ totalShippingPrice: MoneyV2;
2618
2943
  /**
2619
2944
  * The total cost of shipping.
2620
- * @deprecated Use `totalShippingPriceV2` instead
2945
+ * @deprecated Use `totalShippingPrice` instead.
2621
2946
  */
2622
- totalShippingPrice: Scalars['Money'];
2623
- /** The total cost of shipping. */
2624
2947
  totalShippingPriceV2: MoneyV2;
2948
+ /** The total cost of taxes. */
2949
+ totalTax?: Maybe<MoneyV2>;
2625
2950
  /**
2626
2951
  * The total cost of taxes.
2627
- * @deprecated Use `totalTaxV2` instead
2952
+ * @deprecated Use `totalTax` instead.
2628
2953
  */
2629
- totalTax?: Maybe<Scalars['Money']>;
2630
- /** The total cost of taxes. */
2631
2954
  totalTaxV2?: Maybe<MoneyV2>;
2632
2955
  };
2633
2956
  /** Represents the reason for the order's cancellation. */
@@ -2641,18 +2964,22 @@ type OrderCancelReason =
2641
2964
  /** There was insufficient inventory. */
2642
2965
  | 'INVENTORY'
2643
2966
  /** The order was canceled for an unlisted reason. */
2644
- | 'OTHER';
2967
+ | 'OTHER'
2968
+ /** Staff made an error. */
2969
+ | 'STAFF';
2645
2970
  /**
2646
2971
  * An auto-generated type for paginating through multiple Orders.
2647
2972
  *
2648
2973
  */
2649
2974
  type OrderConnection = {
2650
2975
  /** A list of edges. */
2651
- edges: OrderEdge[];
2976
+ edges: Array<OrderEdge>;
2652
2977
  /** A list of the nodes contained in OrderEdge. */
2653
- nodes: Order[];
2978
+ nodes: Array<Order>;
2654
2979
  /** Information to aid in pagination. */
2655
2980
  pageInfo: PageInfo;
2981
+ /** The total count of Orders. */
2982
+ totalCount: Scalars['UnsignedInt64'];
2656
2983
  };
2657
2984
  /**
2658
2985
  * An auto-generated type which holds one Order and a cursor during pagination.
@@ -2705,12 +3032,12 @@ type OrderLineItem = {
2705
3032
  /** The number of entries associated to the line item minus the items that have been removed. */
2706
3033
  currentQuantity: Scalars['Int'];
2707
3034
  /** List of custom attributes associated to the line item. */
2708
- customAttributes: Attribute[];
3035
+ customAttributes: Array<Attribute>;
2709
3036
  /** The discounts that have been allocated onto the order line item by discount applications. */
2710
- discountAllocations: DiscountAllocation[];
3037
+ discountAllocations: Array<DiscountAllocation>;
2711
3038
  /** The total price of the line item, including discounts, and displayed in the presentment currency. */
2712
3039
  discountedTotalPrice: MoneyV2;
2713
- /** The total price of the line item, not including any discounts. The total price is calculated using the original unit price multiplied by the quantity, and it is displayed in the presentment currency. */
3040
+ /** The total price of the line item, not including any discounts. The total price is calculated using the original unit price multiplied by the quantity, and it's displayed in the presentment currency. */
2714
3041
  originalTotalPrice: MoneyV2;
2715
3042
  /** The number of products variants associated to the line item. */
2716
3043
  quantity: Scalars['Int'];
@@ -2725,9 +3052,9 @@ type OrderLineItem = {
2725
3052
  */
2726
3053
  type OrderLineItemConnection = {
2727
3054
  /** A list of edges. */
2728
- edges: OrderLineItemEdge[];
3055
+ edges: Array<OrderLineItemEdge>;
2729
3056
  /** A list of the nodes contained in OrderLineItemEdge. */
2730
- nodes: OrderLineItem[];
3057
+ nodes: Array<OrderLineItem>;
2731
3058
  /** Information to aid in pagination. */
2732
3059
  pageInfo: PageInfo;
2733
3060
  };
@@ -2742,7 +3069,7 @@ type OrderLineItemEdge = {
2742
3069
  node: OrderLineItem;
2743
3070
  };
2744
3071
  /** Shopify merchants can create pages to hold static HTML content. Each Page object represents a custom page on the online store. */
2745
- type Page = HasMetafields & Node & OnlineStorePublishable & {
3072
+ type Page = HasMetafields & Node & OnlineStorePublishable & Trackable & {
2746
3073
  /** The description of the page, complete with HTML formatting. */
2747
3074
  body: Scalars['HTML'];
2748
3075
  /** Summary of the page body. */
@@ -2751,27 +3078,27 @@ type Page = HasMetafields & Node & OnlineStorePublishable & {
2751
3078
  createdAt: Scalars['DateTime'];
2752
3079
  /** A human-friendly unique string for the page automatically generated from its title. */
2753
3080
  handle: Scalars['String'];
2754
- /** A globally-unique identifier. */
3081
+ /** A globally-unique ID. */
2755
3082
  id: Scalars['ID'];
2756
3083
  /** Returns a metafield found by namespace and key. */
2757
3084
  metafield?: Maybe<Metafield>;
2758
- /**
2759
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
2760
- *
2761
- */
2762
- metafields: Maybe<Metafield>[];
3085
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3086
+ metafields: Array<Maybe<Metafield>>;
2763
3087
  /** The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. */
2764
3088
  onlineStoreUrl?: Maybe<Scalars['URL']>;
2765
3089
  /** The page's SEO information. */
2766
3090
  seo?: Maybe<Seo>;
2767
3091
  /** The title of the page. */
2768
3092
  title: Scalars['String'];
3093
+ /** URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. */
3094
+ trackingParameters?: Maybe<Scalars['String']>;
2769
3095
  /** The timestamp of the latest page update. */
2770
3096
  updatedAt: Scalars['DateTime'];
2771
3097
  };
2772
3098
  /**
2773
3099
  * Returns information about pagination in a connection, in accordance with the
2774
3100
  * [Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo).
3101
+ * For more information, please read our [GraphQL Pagination Usage Guide](https://shopify.dev/api/usage/pagination-graphql).
2775
3102
  *
2776
3103
  */
2777
3104
  type PageInfo = {
@@ -2787,19 +3114,23 @@ type PageInfo = {
2787
3114
  /** Settings related to payments. */
2788
3115
  type PaymentSettings = {
2789
3116
  /** List of the card brands which the shop accepts. */
2790
- acceptedCardBrands: CardBrand[];
3117
+ acceptedCardBrands: Array<CardBrand>;
2791
3118
  /** The url pointing to the endpoint to vault credit cards. */
2792
3119
  cardVaultUrl: Scalars['URL'];
2793
3120
  /** The country where the shop is located. */
2794
3121
  countryCode: CountryCode;
2795
3122
  /** The three-letter code for the shop's primary currency. */
2796
3123
  currencyCode: CurrencyCode;
2797
- /** A list of enabled currencies (ISO 4217 format) that the shop accepts. Merchants can enable currencies from their Shopify Payments settings in the Shopify admin. */
2798
- enabledPresentmentCurrencies: CurrencyCode[];
2799
- /** The shop’s Shopify Payments account id. */
3124
+ /**
3125
+ * A list of enabled currencies (ISO 4217 format) that the shop accepts.
3126
+ * Merchants can enable currencies from their Shopify Payments settings in the Shopify admin.
3127
+ *
3128
+ */
3129
+ enabledPresentmentCurrencies: Array<CurrencyCode>;
3130
+ /** The shop’s Shopify Payments account ID. */
2800
3131
  shopifyPaymentsAccountId?: Maybe<Scalars['String']>;
2801
3132
  /** List of the digital wallets which the shop supports. */
2802
- supportedDigitalWallets: DigitalWallet[];
3133
+ supportedDigitalWallets: Array<DigitalWallet>;
2803
3134
  };
2804
3135
  /** The value of the percentage pricing object. */
2805
3136
  type PricingPercentageValue = {
@@ -2810,9 +3141,12 @@ type PricingPercentageValue = {
2810
3141
  type PricingValue = MoneyV2 | PricingPercentageValue;
2811
3142
  /**
2812
3143
  * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
2813
- * For example, a digital download (such as a movie, music or ebook file) also qualifies as a product, as do services (such as equipment rental, work for hire, customization of another product or an extended warranty).
3144
+ * For example, a digital download (such as a movie, music or ebook file) also
3145
+ * qualifies as a product, as do services (such as equipment rental, work for hire,
3146
+ * customization of another product or an extended warranty).
3147
+ *
2814
3148
  */
2815
- type Product = HasMetafields & Node & OnlineStorePublishable & {
3149
+ type Product = HasMetafields & Node & OnlineStorePublishable & Trackable & {
2816
3150
  /** Indicates if at least one product variant is available for sale. */
2817
3151
  availableForSale: Scalars['Boolean'];
2818
3152
  /** List of collections a product belongs to. */
@@ -2838,23 +3172,26 @@ type Product = HasMetafields & Node & OnlineStorePublishable & {
2838
3172
  *
2839
3173
  */
2840
3174
  handle: Scalars['String'];
2841
- /** A globally-unique identifier. */
3175
+ /** A globally-unique ID. */
2842
3176
  id: Scalars['ID'];
2843
3177
  /** List of images associated with the product. */
2844
3178
  images: ImageConnection;
3179
+ /** Whether the product is a gift card. */
3180
+ isGiftCard: Scalars['Boolean'];
2845
3181
  /** The media associated with the product. */
2846
3182
  media: MediaConnection;
2847
3183
  /** Returns a metafield found by namespace and key. */
2848
3184
  metafield?: Maybe<Metafield>;
3185
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3186
+ metafields: Array<Maybe<Metafield>>;
2849
3187
  /**
2850
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
3188
+ * The URL used for viewing the resource on the shop's Online Store. Returns
3189
+ * `null` if the resource is currently not published to the Online Store sales channel.
2851
3190
  *
2852
3191
  */
2853
- metafields: Maybe<Metafield>[];
2854
- /** The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. */
2855
3192
  onlineStoreUrl?: Maybe<Scalars['URL']>;
2856
3193
  /** List of product options. */
2857
- options: ProductOption[];
3194
+ options: Array<ProductOption>;
2858
3195
  /** The price range. */
2859
3196
  priceRange: ProductPriceRange;
2860
3197
  /** A categorization that a product can be tagged with, commonly used for filtering and searching. */
@@ -2872,11 +3209,13 @@ type Product = HasMetafields & Node & OnlineStorePublishable & {
2872
3209
  * Additional access scope required for private apps: unauthenticated_read_product_tags.
2873
3210
  *
2874
3211
  */
2875
- tags: Scalars['String'][];
3212
+ tags: Array<Scalars['String']>;
2876
3213
  /** The product’s title. */
2877
3214
  title: Scalars['String'];
2878
3215
  /** The total quantity of inventory in stock for this Product. */
2879
3216
  totalInventory?: Maybe<Scalars['Int']>;
3217
+ /** URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. */
3218
+ trackingParameters?: Maybe<Scalars['String']>;
2880
3219
  /**
2881
3220
  * The date and time when the product was last modified.
2882
3221
  * A product's `updatedAt` value can change for different reasons. For example, if an order
@@ -2903,11 +3242,11 @@ type Product = HasMetafields & Node & OnlineStorePublishable & {
2903
3242
  */
2904
3243
  type ProductConnection = {
2905
3244
  /** A list of edges. */
2906
- edges: ProductEdge[];
3245
+ edges: Array<ProductEdge>;
2907
3246
  /** A list of available filters. */
2908
- filters: Filter[];
3247
+ filters: Array<Filter>;
2909
3248
  /** A list of the nodes contained in ProductEdge. */
2910
- nodes: Product[];
3249
+ nodes: Array<Product>;
2911
3250
  /** Information to aid in pagination. */
2912
3251
  pageInfo: PageInfo;
2913
3252
  };
@@ -2928,12 +3267,15 @@ type ProductEdge = {
2928
3267
  *
2929
3268
  */
2930
3269
  type ProductOption = Node & {
2931
- /** A globally-unique identifier. */
3270
+ /** A globally-unique ID. */
2932
3271
  id: Scalars['ID'];
2933
3272
  /** The product option’s name. */
2934
3273
  name: Scalars['String'];
2935
- /** The corresponding value to the product option name. */
2936
- values: Scalars['String'][];
3274
+ /**
3275
+ * The corresponding value to the product option name.
3276
+ * @deprecated Use `optionValues` instead.
3277
+ */
3278
+ values: Array<Scalars['String']>;
2937
3279
  };
2938
3280
  /** The price range of the product. */
2939
3281
  type ProductPriceRange = {
@@ -2942,41 +3284,38 @@ type ProductPriceRange = {
2942
3284
  /** The lowest variant's price. */
2943
3285
  minVariantPrice: MoneyV2;
2944
3286
  };
2945
- /** A product variant represents a different version of a product, such as differing sizes or differing colors. */
3287
+ /**
3288
+ * A product variant represents a different version of a product, such as differing sizes or differing colors.
3289
+ *
3290
+ */
2946
3291
  type ProductVariant = HasMetafields & Node & {
2947
3292
  /** Indicates if the product variant is available for sale. */
2948
3293
  availableForSale: Scalars['Boolean'];
2949
3294
  /** The barcode (for example, ISBN, UPC, or GTIN) associated with the variant. */
2950
3295
  barcode?: Maybe<Scalars['String']>;
3296
+ /** The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`. */
3297
+ compareAtPrice?: Maybe<MoneyV2>;
2951
3298
  /**
2952
- * The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`.
2953
- * @deprecated Use `compareAtPriceV2` instead
3299
+ * The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPriceV2` is higher than `priceV2`.
3300
+ * @deprecated Use `compareAtPrice` instead.
2954
3301
  */
2955
- compareAtPrice?: Maybe<Scalars['Money']>;
2956
- /** The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPriceV2` is higher than `priceV2`. */
2957
3302
  compareAtPriceV2?: Maybe<MoneyV2>;
2958
3303
  /** Whether a product is out of stock but still available for purchase (used for backorders). */
2959
3304
  currentlyNotInStock: Scalars['Boolean'];
2960
- /** A globally-unique identifier. */
3305
+ /** A globally-unique ID. */
2961
3306
  id: Scalars['ID'];
2962
- /**
2963
- * Image associated with the product variant. This field falls back to the product image if no image is available.
2964
- *
2965
- */
3307
+ /** Image associated with the product variant. This field falls back to the product image if no image is available. */
2966
3308
  image?: Maybe<Image>;
2967
3309
  /** Returns a metafield found by namespace and key. */
2968
3310
  metafield?: Maybe<Metafield>;
2969
- /**
2970
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
2971
- *
2972
- */
2973
- metafields: Maybe<Metafield>[];
3311
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3312
+ metafields: Array<Maybe<Metafield>>;
3313
+ /** The product variant’s price. */
3314
+ price: MoneyV2;
2974
3315
  /**
2975
3316
  * The product variant’s price.
2976
- * @deprecated Use `priceV2` instead
3317
+ * @deprecated Use `price` instead.
2977
3318
  */
2978
- price: Scalars['Money'];
2979
- /** The product variant’s price. */
2980
3319
  priceV2: MoneyV2;
2981
3320
  /** The product object that the product variant belongs to. */
2982
3321
  product: Product;
@@ -2985,13 +3324,15 @@ type ProductVariant = HasMetafields & Node & {
2985
3324
  /** Whether a customer needs to provide a shipping address when placing an order for the product variant. */
2986
3325
  requiresShipping: Scalars['Boolean'];
2987
3326
  /** List of product options applied to the variant. */
2988
- selectedOptions: SelectedOption[];
3327
+ selectedOptions: Array<SelectedOption>;
2989
3328
  /** Represents an association between a variant and a selling plan. Selling plan allocations describe which selling plans are available for each variant, and what their impact is on pricing. */
2990
3329
  sellingPlanAllocations: SellingPlanAllocationConnection;
2991
3330
  /** The SKU (stock keeping unit) associated with the variant. */
2992
3331
  sku?: Maybe<Scalars['String']>;
2993
3332
  /** The in-store pickup availability of this variant by location. */
2994
3333
  storeAvailability: StoreAvailabilityConnection;
3334
+ /** Whether tax is charged when the product variant is sold. */
3335
+ taxable: Scalars['Boolean'];
2995
3336
  /** The product variant’s title. */
2996
3337
  title: Scalars['String'];
2997
3338
  /** The unit price value for the variant based on the variant's measurement. */
@@ -3009,9 +3350,9 @@ type ProductVariant = HasMetafields & Node & {
3009
3350
  */
3010
3351
  type ProductVariantConnection = {
3011
3352
  /** A list of edges. */
3012
- edges: ProductVariantEdge[];
3353
+ edges: Array<ProductVariantEdge>;
3013
3354
  /** A list of the nodes contained in ProductVariantEdge. */
3014
- nodes: ProductVariant[];
3355
+ nodes: Array<ProductVariant>;
3015
3356
  /** Information to aid in pagination. */
3016
3357
  pageInfo: PageInfo;
3017
3358
  };
@@ -3049,14 +3390,14 @@ type SellingPlan = {
3049
3390
  checkoutCharge: SellingPlanCheckoutCharge;
3050
3391
  /** The description of the selling plan. */
3051
3392
  description?: Maybe<Scalars['String']>;
3052
- /** A globally-unique identifier. */
3393
+ /** A globally-unique ID. */
3053
3394
  id: Scalars['ID'];
3054
3395
  /** The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'. */
3055
3396
  name: Scalars['String'];
3056
3397
  /** The selling plan options available in the drop-down list in the storefront. For example, 'Delivery every week' or 'Delivery every 2 weeks' specifies the delivery frequency options for the product. Individual selling plans contribute their options to the associated selling plan group. For example, a selling plan group might have an option called `option1: Delivery every`. One selling plan in that group could contribute `option1: 2 weeks` with the pricing for that option, and another selling plan could contribute `option1: 4 weeks`, with different pricing. */
3057
- options: SellingPlanOption[];
3398
+ options: Array<SellingPlanOption>;
3058
3399
  /** The price adjustments that a selling plan makes when a variant is purchased with a selling plan. */
3059
- priceAdjustments: SellingPlanPriceAdjustment[];
3400
+ priceAdjustments: Array<SellingPlanPriceAdjustment>;
3060
3401
  /** Whether purchasing the selling plan will result in multiple deliveries. */
3061
3402
  recurringDeliveries: Scalars['Boolean'];
3062
3403
  };
@@ -3065,7 +3406,7 @@ type SellingPlanAllocation = {
3065
3406
  /** The checkout charge amount due for the purchase. */
3066
3407
  checkoutChargeAmount: MoneyV2;
3067
3408
  /** A list of price adjustments, with a maximum of two. When there are two, the first price adjustment goes into effect at the time of purchase, while the second one starts after a certain number of orders. A price adjustment represents how a selling plan affects pricing when a variant is purchased with a selling plan. Prices display in the customer's currency if the shop is configured for it. */
3068
- priceAdjustments: SellingPlanAllocationPriceAdjustment[];
3409
+ priceAdjustments: Array<SellingPlanAllocationPriceAdjustment>;
3069
3410
  /** The remaining balance charge amount due for the purchase. */
3070
3411
  remainingBalanceChargeAmount: MoneyV2;
3071
3412
  /** A representation of how products and variants can be sold and purchased. For example, an individual selling plan could be '6 weeks of prepaid granola, delivered weekly'. */
@@ -3077,9 +3418,9 @@ type SellingPlanAllocation = {
3077
3418
  */
3078
3419
  type SellingPlanAllocationConnection = {
3079
3420
  /** A list of edges. */
3080
- edges: SellingPlanAllocationEdge[];
3421
+ edges: Array<SellingPlanAllocationEdge>;
3081
3422
  /** A list of the nodes contained in SellingPlanAllocationEdge. */
3082
- nodes: SellingPlanAllocation[];
3423
+ nodes: Array<SellingPlanAllocation>;
3083
3424
  /** Information to aid in pagination. */
3084
3425
  pageInfo: PageInfo;
3085
3426
  };
@@ -3130,9 +3471,9 @@ type SellingPlanCheckoutChargeValue = MoneyV2 | SellingPlanCheckoutChargePercent
3130
3471
  */
3131
3472
  type SellingPlanConnection = {
3132
3473
  /** A list of edges. */
3133
- edges: SellingPlanEdge[];
3474
+ edges: Array<SellingPlanEdge>;
3134
3475
  /** A list of the nodes contained in SellingPlanEdge. */
3135
- nodes: SellingPlan[];
3476
+ nodes: Array<SellingPlan>;
3136
3477
  /** Information to aid in pagination. */
3137
3478
  pageInfo: PageInfo;
3138
3479
  };
@@ -3163,7 +3504,7 @@ type SellingPlanGroup = {
3163
3504
  /** The name of the selling plan group. */
3164
3505
  name: Scalars['String'];
3165
3506
  /** Represents the selling plan options available in the drop-down list in the storefront. For example, 'Delivery every week' or 'Delivery every 2 weeks' specifies the delivery frequency options for the product. */
3166
- options: SellingPlanGroupOption[];
3507
+ options: Array<SellingPlanGroupOption>;
3167
3508
  /** A list of selling plans in a selling plan group. A selling plan is a representation of how products and variants can be sold and purchased. For example, an individual selling plan could be '6 weeks of prepaid granola, delivered weekly'. */
3168
3509
  sellingPlans: SellingPlanConnection;
3169
3510
  };
@@ -3173,9 +3514,9 @@ type SellingPlanGroup = {
3173
3514
  */
3174
3515
  type SellingPlanGroupConnection = {
3175
3516
  /** A list of edges. */
3176
- edges: SellingPlanGroupEdge[];
3517
+ edges: Array<SellingPlanGroupEdge>;
3177
3518
  /** A list of the nodes contained in SellingPlanGroupEdge. */
3178
- nodes: SellingPlanGroup[];
3519
+ nodes: Array<SellingPlanGroup>;
3179
3520
  /** Information to aid in pagination. */
3180
3521
  pageInfo: PageInfo;
3181
3522
  };
@@ -3198,7 +3539,7 @@ type SellingPlanGroupOption = {
3198
3539
  /** The name of the option. For example, 'Delivery every'. */
3199
3540
  name: Scalars['String'];
3200
3541
  /** The values for the options specified by the selling plans in the selling plan group. For example, '1 week', '2 weeks', '3 weeks'. */
3201
- values: Scalars['String'][];
3542
+ values: Array<Scalars['String']>;
3202
3543
  };
3203
3544
  /** An option provided by a Selling Plan. */
3204
3545
  type SellingPlanOption = {
@@ -3225,29 +3566,28 @@ type SellingPlanPriceAdjustmentValue = SellingPlanFixedAmountPriceAdjustment | S
3225
3566
  type ShippingRate = {
3226
3567
  /** Human-readable unique identifier for this shipping rate. */
3227
3568
  handle: Scalars['String'];
3569
+ /** Price of this shipping rate. */
3570
+ price: MoneyV2;
3228
3571
  /**
3229
3572
  * Price of this shipping rate.
3230
- * @deprecated Use `priceV2` instead
3573
+ * @deprecated Use `price` instead.
3231
3574
  */
3232
- price: Scalars['Money'];
3233
- /** Price of this shipping rate. */
3234
3575
  priceV2: MoneyV2;
3235
3576
  /** Title of this shipping rate. */
3236
3577
  title: Scalars['String'];
3237
3578
  };
3238
3579
  /** Shop represents a collection of the general settings and information about the shop. */
3239
3580
  type Shop = HasMetafields & Node & {
3581
+ /** The shop's branding configuration. */
3582
+ brand?: Maybe<Brand>;
3240
3583
  /** A description of the shop. */
3241
3584
  description?: Maybe<Scalars['String']>;
3242
- /** A globally-unique identifier. */
3585
+ /** A globally-unique ID. */
3243
3586
  id: Scalars['ID'];
3244
3587
  /** Returns a metafield found by namespace and key. */
3245
3588
  metafield?: Maybe<Metafield>;
3246
- /**
3247
- * The metafields associated with the resource matching the supplied list of namespaces and keys.
3248
- *
3249
- */
3250
- metafields: Maybe<Metafield>[];
3589
+ /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3590
+ metafields: Array<Maybe<Metafield>>;
3251
3591
  /** A string representing the way currency is formatted when the currency isn’t specified. */
3252
3592
  moneyFormat: Scalars['String'];
3253
3593
  /** The shop’s name. */
@@ -3263,7 +3603,7 @@ type Shop = HasMetafields & Node & {
3263
3603
  /** The shop’s shipping policy. */
3264
3604
  shippingPolicy?: Maybe<ShopPolicy>;
3265
3605
  /** Countries that the shop ships to. */
3266
- shipsToCountries: CountryCode[];
3606
+ shipsToCountries: Array<CountryCode>;
3267
3607
  /** The shop’s subscription policy. */
3268
3608
  subscriptionPolicy?: Maybe<ShopPolicyWithDefault>;
3269
3609
  /** The shop’s terms of service. */
@@ -3275,7 +3615,7 @@ type ShopPolicy = Node & {
3275
3615
  body: Scalars['String'];
3276
3616
  /** Policy’s handle. */
3277
3617
  handle: Scalars['String'];
3278
- /** A globally-unique identifier. */
3618
+ /** A globally-unique ID. */
3279
3619
  id: Scalars['ID'];
3280
3620
  /** Policy’s title. */
3281
3621
  title: Scalars['String'];
@@ -3293,7 +3633,7 @@ type ShopPolicyWithDefault = {
3293
3633
  body: Scalars['String'];
3294
3634
  /** The handle of the policy. */
3295
3635
  handle: Scalars['String'];
3296
- /** The unique identifier of the policy. A default policy doesn't have an ID. */
3636
+ /** The unique ID of the policy. A default policy doesn't have an ID. */
3297
3637
  id?: Maybe<Scalars['ID']>;
3298
3638
  /** The title of the policy. */
3299
3639
  title: Scalars['String'];
@@ -3312,6 +3652,8 @@ type StoreAvailability = {
3312
3652
  location: Location;
3313
3653
  /** Returns the estimated amount of time it takes for pickup to be ready (Example: Usually ready in 24 hours). */
3314
3654
  pickUpTime: Scalars['String'];
3655
+ /** The quantity of the product variant in-stock at this location. */
3656
+ quantityAvailable: Scalars['Int'];
3315
3657
  };
3316
3658
  /**
3317
3659
  * An auto-generated type for paginating through multiple StoreAvailabilities.
@@ -3319,9 +3661,9 @@ type StoreAvailability = {
3319
3661
  */
3320
3662
  type StoreAvailabilityConnection = {
3321
3663
  /** A list of edges. */
3322
- edges: StoreAvailabilityEdge[];
3664
+ edges: Array<StoreAvailabilityEdge>;
3323
3665
  /** A list of the nodes contained in StoreAvailabilityEdge. */
3324
- nodes: StoreAvailability[];
3666
+ nodes: Array<StoreAvailability>;
3325
3667
  /** Information to aid in pagination. */
3326
3668
  pageInfo: PageInfo;
3327
3669
  };
@@ -3335,6 +3677,11 @@ type StoreAvailabilityEdge = {
3335
3677
  /** The item at the end of StoreAvailabilityEdge. */
3336
3678
  node: StoreAvailability;
3337
3679
  };
3680
+ /** Represents a resource that you can track the origin of the search traffic. */
3681
+ type Trackable = {
3682
+ /** URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. */
3683
+ trackingParameters?: Maybe<Scalars['String']>;
3684
+ };
3338
3685
  /**
3339
3686
  * The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml).
3340
3687
  *
@@ -3395,14 +3742,16 @@ type UnitSystem =
3395
3742
  type Video = Media & Node & {
3396
3743
  /** A word or phrase to share the nature or contents of a media. */
3397
3744
  alt?: Maybe<Scalars['String']>;
3398
- /** A globally-unique identifier. */
3745
+ /** A globally-unique ID. */
3399
3746
  id: Scalars['ID'];
3400
3747
  /** The media content type. */
3401
3748
  mediaContentType: MediaContentType;
3749
+ /** The presentation for a media. */
3750
+ presentation?: Maybe<MediaPresentation>;
3402
3751
  /** The preview image for the media. */
3403
3752
  previewImage?: Maybe<Image>;
3404
3753
  /** The sources for a video. */
3405
- sources: VideoSource[];
3754
+ sources: Array<VideoSource>;
3406
3755
  };
3407
3756
  /** Represents a source for a Shopify hosted video. */
3408
3757
  type VideoSource = {
@@ -3477,17 +3826,27 @@ type CartCreateMutationResponse = {
3477
3826
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3478
3827
  };
3479
3828
  lines: {
3480
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
3829
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
3830
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3831
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3832
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3833
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3834
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3835
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3836
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3837
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
3838
+ };
3839
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
3481
3840
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3482
3841
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3483
3842
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3484
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3485
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3843
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3844
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3486
3845
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3487
3846
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3488
3847
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3489
3848
  };
3490
- }>;
3849
+ })>;
3491
3850
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3492
3851
  };
3493
3852
  }>;
@@ -3512,17 +3871,27 @@ type CartDiscountCodesUpdateMutationResponse = {
3512
3871
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3513
3872
  };
3514
3873
  lines: {
3515
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
3874
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
3516
3875
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3517
3876
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3518
3877
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3519
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3520
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3878
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3879
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3521
3880
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3522
3881
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3523
3882
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3524
3883
  };
3525
- }>;
3884
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
3885
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3886
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3887
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3888
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3889
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3890
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3891
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3892
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
3893
+ };
3894
+ })>;
3526
3895
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3527
3896
  };
3528
3897
  }>;
@@ -3547,17 +3916,27 @@ type CartLinesAddMutationResponse = {
3547
3916
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3548
3917
  };
3549
3918
  lines: {
3550
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
3919
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
3551
3920
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3552
3921
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3553
3922
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3554
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3555
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3923
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3924
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3556
3925
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3557
3926
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3558
3927
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3559
3928
  };
3560
- }>;
3929
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
3930
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3931
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3932
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3933
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3934
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3935
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3936
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3937
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
3938
+ };
3939
+ })>;
3561
3940
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3562
3941
  };
3563
3942
  }>;
@@ -3582,17 +3961,27 @@ type CartLinesRemoveMutationResponse = {
3582
3961
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3583
3962
  };
3584
3963
  lines: {
3585
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
3964
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
3965
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3966
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3967
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3968
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3969
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3970
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3971
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3972
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
3973
+ };
3974
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
3586
3975
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3587
3976
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3588
3977
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3589
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3590
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3978
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3979
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3591
3980
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3592
3981
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3593
3982
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3594
3983
  };
3595
- }>;
3984
+ })>;
3596
3985
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3597
3986
  };
3598
3987
  }>;
@@ -3617,17 +4006,27 @@ type CartLinesUpdateMutationResponse = {
3617
4006
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3618
4007
  };
3619
4008
  lines: {
3620
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
4009
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
3621
4010
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3622
4011
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3623
4012
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3624
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3625
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
4013
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
4014
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3626
4015
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3627
4016
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3628
4017
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3629
4018
  };
3630
- }>;
4019
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
4020
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4021
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
4022
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
4023
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
4024
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
4025
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
4026
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
4027
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
4028
+ };
4029
+ })>;
3631
4030
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3632
4031
  };
3633
4032
  }>;
@@ -3652,17 +4051,27 @@ type CartNoteUpdateMutationResponse = {
3652
4051
  totalTaxAmount?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3653
4052
  };
3654
4053
  lines: {
3655
- nodes: Array<Pick<CartLine, 'id' | 'quantity'> & {
4054
+ nodes: Array<(Pick<CartLine, 'id' | 'quantity'> & {
4055
+ attributes: Array<Pick<Attribute, 'key' | 'value'>>;
4056
+ merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
4057
+ unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
4058
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
4059
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
4060
+ selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
4061
+ image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
4062
+ product: Pick<Product, 'id' | 'handle' | 'title'>;
4063
+ };
4064
+ }) | (Pick<ComponentizableCartLine, 'id' | 'quantity'> & {
3656
4065
  attributes: Array<Pick<Attribute, 'key' | 'value'>>;
3657
4066
  merchandise: Pick<ProductVariant, 'id' | 'title' | 'sku' | 'requiresShipping' | 'availableForSale' | 'weight' | 'weightUnit'> & {
3658
4067
  unitPriceMeasurement?: Maybe<Pick<UnitPriceMeasurement, 'measuredType' | 'quantityUnit' | 'quantityValue'>>;
3659
- priceV2: Pick<MoneyV2, 'amount' | 'currencyCode'>;
3660
- compareAtPriceV2?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
4068
+ price: Pick<MoneyV2, 'amount' | 'currencyCode'>;
4069
+ compareAtPrice?: Maybe<Pick<MoneyV2, 'amount' | 'currencyCode'>>;
3661
4070
  selectedOptions: Array<Pick<SelectedOption, 'name' | 'value'>>;
3662
4071
  image?: Maybe<Pick<Image, 'id' | 'altText' | 'url' | 'height' | 'width'>>;
3663
4072
  product: Pick<Product, 'id' | 'handle' | 'title'>;
3664
4073
  };
3665
- }>;
4074
+ })>;
3666
4075
  pageInfo: Pick<PageInfo, 'endCursor' | 'hasNextPage' | 'hasPreviousPage' | 'startCursor'>;
3667
4076
  };
3668
4077
  }>;