@shopify/hydrogen-react 2024.10.1 → 2025.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/customer-account.schema.json +1 -1
  2. package/dist/browser-dev/CartCheckoutButton.mjs.map +1 -1
  3. package/dist/browser-dev/CartLineProvider.mjs.map +1 -1
  4. package/dist/browser-dev/CartProvider.mjs.map +1 -1
  5. package/dist/browser-dev/Image.mjs.map +1 -1
  6. package/dist/browser-dev/ModelViewer.mjs.map +1 -1
  7. package/dist/browser-dev/Money.mjs.map +1 -1
  8. package/dist/browser-dev/Video.mjs.map +1 -1
  9. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
  10. package/dist/browser-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  11. package/dist/browser-dev/analytics.mjs +0 -3
  12. package/dist/browser-dev/analytics.mjs.map +1 -1
  13. package/dist/browser-dev/cart-hooks.mjs.map +1 -1
  14. package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
  15. package/dist/browser-dev/flatten-connection.mjs.map +1 -1
  16. package/dist/browser-dev/getProductOptions.mjs +50 -36
  17. package/dist/browser-dev/getProductOptions.mjs.map +1 -1
  18. package/dist/browser-dev/optionValueDecoder.mjs +10 -8
  19. package/dist/browser-dev/optionValueDecoder.mjs.map +1 -1
  20. package/dist/browser-dev/packages/hydrogen-react/package.json.mjs +1 -1
  21. package/dist/browser-dev/storefront-api-constants.mjs +1 -1
  22. package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
  23. package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
  24. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  25. package/dist/browser-dev/useMoney.mjs.map +1 -1
  26. package/dist/browser-prod/CartCheckoutButton.mjs.map +1 -1
  27. package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
  28. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  29. package/dist/browser-prod/Image.mjs.map +1 -1
  30. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  31. package/dist/browser-prod/Money.mjs.map +1 -1
  32. package/dist/browser-prod/Video.mjs.map +1 -1
  33. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
  34. package/dist/browser-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  35. package/dist/browser-prod/analytics.mjs +0 -3
  36. package/dist/browser-prod/analytics.mjs.map +1 -1
  37. package/dist/browser-prod/cart-hooks.mjs.map +1 -1
  38. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  39. package/dist/browser-prod/flatten-connection.mjs.map +1 -1
  40. package/dist/browser-prod/getProductOptions.mjs +50 -36
  41. package/dist/browser-prod/getProductOptions.mjs.map +1 -1
  42. package/dist/browser-prod/optionValueDecoder.mjs +10 -8
  43. package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
  44. package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +1 -1
  45. package/dist/browser-prod/storefront-api-constants.mjs +1 -1
  46. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  47. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  48. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  49. package/dist/browser-prod/useMoney.mjs.map +1 -1
  50. package/dist/node-dev/CartCheckoutButton.js.map +1 -1
  51. package/dist/node-dev/CartCheckoutButton.mjs.map +1 -1
  52. package/dist/node-dev/CartLineProvider.js.map +1 -1
  53. package/dist/node-dev/CartLineProvider.mjs.map +1 -1
  54. package/dist/node-dev/CartProvider.js.map +1 -1
  55. package/dist/node-dev/CartProvider.mjs.map +1 -1
  56. package/dist/node-dev/Image.js.map +1 -1
  57. package/dist/node-dev/Image.mjs.map +1 -1
  58. package/dist/node-dev/ModelViewer.js.map +1 -1
  59. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  60. package/dist/node-dev/Money.js.map +1 -1
  61. package/dist/node-dev/Money.mjs.map +1 -1
  62. package/dist/node-dev/Video.js.map +1 -1
  63. package/dist/node-dev/Video.mjs.map +1 -1
  64. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js +1 -2
  65. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
  66. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
  67. package/dist/node-dev/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  68. package/dist/node-dev/analytics.js +0 -3
  69. package/dist/node-dev/analytics.js.map +1 -1
  70. package/dist/node-dev/analytics.mjs +0 -3
  71. package/dist/node-dev/analytics.mjs.map +1 -1
  72. package/dist/node-dev/cart-hooks.js.map +1 -1
  73. package/dist/node-dev/cart-hooks.mjs.map +1 -1
  74. package/dist/node-dev/codegen.helpers.js.map +1 -1
  75. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  76. package/dist/node-dev/flatten-connection.js.map +1 -1
  77. package/dist/node-dev/flatten-connection.mjs.map +1 -1
  78. package/dist/node-dev/getProductOptions.js +50 -36
  79. package/dist/node-dev/getProductOptions.js.map +1 -1
  80. package/dist/node-dev/getProductOptions.mjs +50 -36
  81. package/dist/node-dev/getProductOptions.mjs.map +1 -1
  82. package/dist/node-dev/optionValueDecoder.js +10 -8
  83. package/dist/node-dev/optionValueDecoder.js.map +1 -1
  84. package/dist/node-dev/optionValueDecoder.mjs +10 -8
  85. package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
  86. package/dist/node-dev/packages/hydrogen-react/package.json.js +1 -1
  87. package/dist/node-dev/packages/hydrogen-react/package.json.mjs +1 -1
  88. package/dist/node-dev/storefront-api-constants.js +1 -1
  89. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  90. package/dist/node-dev/storefront-api-constants.mjs +1 -1
  91. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  92. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  93. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  94. package/dist/node-dev/useCartActions.js.map +1 -1
  95. package/dist/node-dev/useCartActions.mjs.map +1 -1
  96. package/dist/node-dev/useMoney.js.map +1 -1
  97. package/dist/node-dev/useMoney.mjs.map +1 -1
  98. package/dist/node-prod/CartCheckoutButton.js.map +1 -1
  99. package/dist/node-prod/CartCheckoutButton.mjs.map +1 -1
  100. package/dist/node-prod/CartLineProvider.js.map +1 -1
  101. package/dist/node-prod/CartLineProvider.mjs.map +1 -1
  102. package/dist/node-prod/CartProvider.js.map +1 -1
  103. package/dist/node-prod/CartProvider.mjs.map +1 -1
  104. package/dist/node-prod/Image.js.map +1 -1
  105. package/dist/node-prod/Image.mjs.map +1 -1
  106. package/dist/node-prod/ModelViewer.js.map +1 -1
  107. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  108. package/dist/node-prod/Money.js.map +1 -1
  109. package/dist/node-prod/Money.mjs.map +1 -1
  110. package/dist/node-prod/Video.js.map +1 -1
  111. package/dist/node-prod/Video.mjs.map +1 -1
  112. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js +1 -2
  113. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.js.map +1 -1
  114. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs +1 -2
  115. package/dist/node-prod/analytics-schema-custom-storefront-customer-tracking.mjs.map +1 -1
  116. package/dist/node-prod/analytics.js +0 -3
  117. package/dist/node-prod/analytics.js.map +1 -1
  118. package/dist/node-prod/analytics.mjs +0 -3
  119. package/dist/node-prod/analytics.mjs.map +1 -1
  120. package/dist/node-prod/cart-hooks.js.map +1 -1
  121. package/dist/node-prod/cart-hooks.mjs.map +1 -1
  122. package/dist/node-prod/codegen.helpers.js.map +1 -1
  123. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  124. package/dist/node-prod/flatten-connection.js.map +1 -1
  125. package/dist/node-prod/flatten-connection.mjs.map +1 -1
  126. package/dist/node-prod/getProductOptions.js +50 -36
  127. package/dist/node-prod/getProductOptions.js.map +1 -1
  128. package/dist/node-prod/getProductOptions.mjs +50 -36
  129. package/dist/node-prod/getProductOptions.mjs.map +1 -1
  130. package/dist/node-prod/optionValueDecoder.js +10 -8
  131. package/dist/node-prod/optionValueDecoder.js.map +1 -1
  132. package/dist/node-prod/optionValueDecoder.mjs +10 -8
  133. package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
  134. package/dist/node-prod/packages/hydrogen-react/package.json.js +1 -1
  135. package/dist/node-prod/packages/hydrogen-react/package.json.mjs +1 -1
  136. package/dist/node-prod/storefront-api-constants.js +1 -1
  137. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  138. package/dist/node-prod/storefront-api-constants.mjs +1 -1
  139. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  140. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  141. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  142. package/dist/node-prod/useCartActions.js.map +1 -1
  143. package/dist/node-prod/useCartActions.mjs.map +1 -1
  144. package/dist/node-prod/useMoney.js.map +1 -1
  145. package/dist/node-prod/useMoney.mjs.map +1 -1
  146. package/dist/types/CartLineProvider.d.ts +1 -1
  147. package/dist/types/CartProvider.d.ts +2 -2
  148. package/dist/types/Image.d.ts +1 -1
  149. package/dist/types/ModelViewer.d.ts +1 -1
  150. package/dist/types/Money.d.ts +1 -1
  151. package/dist/types/Video.d.ts +1 -1
  152. package/dist/types/codegen.helpers.d.ts +2 -2
  153. package/dist/types/flatten-connection.d.ts +1 -1
  154. package/dist/types/optionValueDecoder.d.ts +2 -2
  155. package/dist/types/storefront-api-constants.d.ts +1 -1
  156. package/dist/types/storefront-api-types.d.ts +641 -127
  157. package/dist/types/useCartAPIStateMachine.d.ts +2 -2
  158. package/dist/types/useCartActions.d.ts +2 -2
  159. package/dist/umd/hydrogen-react.dev.js +63 -51
  160. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  161. package/dist/umd/hydrogen-react.prod.js +7 -7
  162. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  163. package/package.json +7 -15
  164. package/storefront.schema.json +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT
3
- * Based on Storefront API 2024-10
3
+ * Based on Storefront API 2025-01
4
4
  * If changes need to happen to the types defined in this file, then generally the Storefront API needs to update. After it's updated, you can run `npm run graphql-types`.
5
5
  * Except custom Scalars, which are defined in the `codegen.ts` file
6
6
  */
@@ -142,9 +142,9 @@ export type Article = HasMetafields &
142
142
  id: Scalars['ID']['output'];
143
143
  /** The image associated with the article. */
144
144
  image?: Maybe<Image>;
145
- /** Returns a metafield found by namespace and key. */
145
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
146
146
  metafield?: Maybe<Metafield>;
147
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
147
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
148
148
  metafields: Array<Maybe<Metafield>>;
149
149
  /** 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. */
150
150
  onlineStoreUrl?: Maybe<Scalars['URL']['output']>;
@@ -374,9 +374,9 @@ export type Blog = HasMetafields &
374
374
  handle: Scalars['String']['output'];
375
375
  /** A globally-unique ID. */
376
376
  id: Scalars['ID']['output'];
377
- /** Returns a metafield found by namespace and key. */
377
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
378
378
  metafield?: Maybe<Metafield>;
379
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
379
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
380
380
  metafields: Array<Maybe<Metafield>>;
381
381
  /** 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. */
382
382
  onlineStoreUrl?: Maybe<Scalars['URL']['output']>;
@@ -505,7 +505,7 @@ export type BrandColors = {
505
505
  export type BuyerInput = {
506
506
  /** The identifier of the company location. */
507
507
  companyLocationId?: InputMaybe<Scalars['ID']['input']>;
508
- /** The storefront customer access token retrieved from the [Customer Accounts API](https://shopify.dev/docs/api/customer/reference/mutations/storefrontCustomerAccessTokenCreate). */
508
+ /** The customer access token retrieved from the [Customer Accounts API](https://shopify.dev/docs/api/customer#step-obtain-access-token). */
509
509
  customerAccessToken: Scalars['String']['input'];
510
510
  };
511
511
 
@@ -548,6 +548,8 @@ export type Cart = HasMetafields &
548
548
  cost: CartCost;
549
549
  /** The date and time when the cart was created. */
550
550
  createdAt: Scalars['DateTime']['output'];
551
+ /** The delivery properties of the cart. */
552
+ delivery: CartDelivery;
551
553
  /**
552
554
  * The delivery groups available for the cart, based on the buyer identity default
553
555
  * delivery address preference or the default address of the logged-in customer.
@@ -571,9 +573,9 @@ export type Cart = HasMetafields &
571
573
  id: Scalars['ID']['output'];
572
574
  /** A list of lines containing information about the items the customer intends to purchase. */
573
575
  lines: BaseCartLineConnection;
574
- /** Returns a metafield found by namespace and key. */
576
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
575
577
  metafield?: Maybe<Metafield>;
576
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
578
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
577
579
  metafields: Array<Maybe<Metafield>>;
578
580
  /** A note that's associated with the cart. For example, the note can be a personalized message to the buyer. */
579
581
  note?: Maybe<Scalars['String']['output']>;
@@ -648,6 +650,17 @@ export type CartMetafieldsArgs = {
648
650
  identifiers: Array<HasMetafieldsIdentifier>;
649
651
  };
650
652
 
653
+ /** A delivery address of the buyer that is interacting with the cart. */
654
+ export type CartAddress = CartDeliveryAddress;
655
+
656
+ /** The input fields to provide exactly one of a variety of delivery address types. */
657
+ export type CartAddressInput = {
658
+ /** Copies details from the customer address to an address on this cart. */
659
+ copyFromCustomerAddressId?: InputMaybe<Scalars['ID']['input']>;
660
+ /** A delivery address stored on this cart. */
661
+ deliveryAddress?: InputMaybe<CartDeliveryAddressInput>;
662
+ };
663
+
651
664
  /** Return type for `cartAttributesUpdate` mutation. */
652
665
  export type CartAttributesUpdatePayload = {
653
666
  __typename?: 'CartAttributesUpdatePayload';
@@ -662,6 +675,8 @@ export type CartAttributesUpdatePayload = {
662
675
  /** The discounts automatically applied to the cart line based on prerequisites that have been met. */
663
676
  export type CartAutomaticDiscountAllocation = CartDiscountAllocation & {
664
677
  __typename?: 'CartAutomaticDiscountAllocation';
678
+ /** The discount that have been applied on the cart line. */
679
+ discountApplication: CartDiscountApplication;
665
680
  /** The discounted amount that has been applied to the cart line. */
666
681
  discountedAmount: MoneyV2;
667
682
  /** The type of line that the discount is applicable towards. */
@@ -693,6 +708,13 @@ export type CartBuyerIdentity = {
693
708
  * The rank of the preferences is determined by the order of the addresses in the array. Preferences
694
709
  * can be used to populate relevant fields in the checkout flow.
695
710
  *
711
+ * As of the `2025-01` release, `buyerIdentity.deliveryAddressPreferences` is deprecated.
712
+ * Delivery addresses are now part of the `CartDelivery` object and managed with three new mutations:
713
+ * - `cartDeliveryAddressAdd`
714
+ * - `cartDeliveryAddressUpdate`
715
+ * - `cartDeliveryAddressDelete`
716
+ *
717
+ * @deprecated Use `cart.delivery` instead.
696
718
  */
697
719
  deliveryAddressPreferences: Array<DeliveryAddress>;
698
720
  /** The email address of the buyer that's interacting with the cart. */
@@ -723,14 +745,6 @@ export type CartBuyerIdentityInput = {
723
745
  countryCode?: InputMaybe<CountryCode>;
724
746
  /** The access token used to identify the customer associated with the cart. */
725
747
  customerAccessToken?: InputMaybe<Scalars['String']['input']>;
726
- /**
727
- * An ordered set of delivery addresses tied to the buyer that is interacting with the cart.
728
- * The rank of the preferences is determined by the order of the addresses in the array. Preferences
729
- * can be used to populate relevant fields in the checkout flow.
730
- *
731
- * The input must not contain more than `250` values.
732
- */
733
- deliveryAddressPreferences?: InputMaybe<Array<DeliveryAddressInput>>;
734
748
  /** The email address of the buyer that is interacting with the cart. */
735
749
  email?: InputMaybe<Scalars['String']['input']>;
736
750
  /** The phone number of the buyer that is interacting with the cart. */
@@ -771,6 +785,8 @@ export type CartCodeDiscountAllocation = CartDiscountAllocation & {
771
785
  __typename?: 'CartCodeDiscountAllocation';
772
786
  /** The code used to apply the discount. */
773
787
  code: Scalars['String']['output'];
788
+ /** The discount that have been applied on the cart line. */
789
+ discountApplication: CartDiscountApplication;
774
790
  /** The discounted amount that has been applied to the cart line. */
775
791
  discountedAmount: MoneyV2;
776
792
  /** The type of line that the discount is applicable towards. */
@@ -845,13 +861,37 @@ export type CartCost = {
845
861
  totalAmount: MoneyV2;
846
862
  /** Whether the total amount is estimated. */
847
863
  totalAmountEstimated: Scalars['Boolean']['output'];
848
- /** The duty amount for the customer to pay at checkout. */
864
+ /**
865
+ * The duty amount for the customer to pay at checkout.
866
+ * @deprecated Tax and duty amounts are no longer available and will be removed in a future version.
867
+ * Please see [the changelog](https://shopify.dev/changelog/tax-and-duties-are-deprecated-in-storefront-cart-api)
868
+ * for more information.
869
+ *
870
+ */
849
871
  totalDutyAmount?: Maybe<MoneyV2>;
850
- /** Whether the total duty amount is estimated. */
872
+ /**
873
+ * Whether the total duty amount is estimated.
874
+ * @deprecated Tax and duty amounts are no longer available and will be removed in a future version.
875
+ * Please see [the changelog](https://shopify.dev/changelog/tax-and-duties-are-deprecated-in-storefront-cart-api)
876
+ * for more information.
877
+ *
878
+ */
851
879
  totalDutyAmountEstimated: Scalars['Boolean']['output'];
852
- /** The tax amount for the customer to pay at checkout. */
880
+ /**
881
+ * The tax amount for the customer to pay at checkout.
882
+ * @deprecated Tax and duty amounts are no longer available and will be removed in a future version.
883
+ * Please see [the changelog](https://shopify.dev/changelog/tax-and-duties-are-deprecated-in-storefront-cart-api)
884
+ * for more information.
885
+ *
886
+ */
853
887
  totalTaxAmount?: Maybe<MoneyV2>;
854
- /** Whether the total tax amount is estimated. */
888
+ /**
889
+ * Whether the total tax amount is estimated.
890
+ * @deprecated Tax and duty amounts are no longer available and will be removed in a future version.
891
+ * Please see [the changelog](https://shopify.dev/changelog/tax-and-duties-are-deprecated-in-storefront-cart-api)
892
+ * for more information.
893
+ *
894
+ */
855
895
  totalTaxAmountEstimated: Scalars['Boolean']['output'];
856
896
  };
857
897
 
@@ -869,6 +909,8 @@ export type CartCreatePayload = {
869
909
  /** The discounts automatically applied to the cart line based on prerequisites that have been met. */
870
910
  export type CartCustomDiscountAllocation = CartDiscountAllocation & {
871
911
  __typename?: 'CartCustomDiscountAllocation';
912
+ /** The discount that have been applied on the cart line. */
913
+ discountApplication: CartDiscountApplication;
872
914
  /** The discounted amount that has been applied to the cart line. */
873
915
  discountedAmount: MoneyV2;
874
916
  /** The type of line that the discount is applicable towards. */
@@ -877,6 +919,157 @@ export type CartCustomDiscountAllocation = CartDiscountAllocation & {
877
919
  title: Scalars['String']['output'];
878
920
  };
879
921
 
922
+ /**
923
+ * The delivery properties of the cart.
924
+ *
925
+ */
926
+ export type CartDelivery = {
927
+ __typename?: 'CartDelivery';
928
+ /** Selectable addresses to present to the buyer on the cart. */
929
+ addresses: Array<CartSelectableAddress>;
930
+ };
931
+
932
+ /**
933
+ * The delivery properties of the cart.
934
+ *
935
+ */
936
+ export type CartDeliveryAddressesArgs = {
937
+ selected?: InputMaybe<Scalars['Boolean']['input']>;
938
+ };
939
+
940
+ /** Represents a mailing address for customers and shipping. */
941
+ export type CartDeliveryAddress = {
942
+ __typename?: 'CartDeliveryAddress';
943
+ /** The first line of the address. Typically the street address or PO Box number. */
944
+ address1?: Maybe<Scalars['String']['output']>;
945
+ /**
946
+ * The second line of the address. Typically the number of the apartment, suite, or unit.
947
+ *
948
+ */
949
+ address2?: Maybe<Scalars['String']['output']>;
950
+ /** The name of the city, district, village, or town. */
951
+ city?: Maybe<Scalars['String']['output']>;
952
+ /** The name of the customer's company or organization. */
953
+ company?: Maybe<Scalars['String']['output']>;
954
+ /**
955
+ * The two-letter code for the country of the address.
956
+ *
957
+ * For example, US.
958
+ *
959
+ */
960
+ countryCode?: Maybe<Scalars['String']['output']>;
961
+ /** The first name of the customer. */
962
+ firstName?: Maybe<Scalars['String']['output']>;
963
+ /** A formatted version of the address, customized by the provided arguments. */
964
+ formatted: Array<Scalars['String']['output']>;
965
+ /** A comma-separated list of the values for city, province, and country. */
966
+ formattedArea?: Maybe<Scalars['String']['output']>;
967
+ /** The last name of the customer. */
968
+ lastName?: Maybe<Scalars['String']['output']>;
969
+ /** The latitude coordinate of the customer address. */
970
+ latitude?: Maybe<Scalars['Float']['output']>;
971
+ /** The longitude coordinate of the customer address. */
972
+ longitude?: Maybe<Scalars['Float']['output']>;
973
+ /** The full name of the customer, based on firstName and lastName. */
974
+ name?: Maybe<Scalars['String']['output']>;
975
+ /**
976
+ * A unique phone number for the customer.
977
+ *
978
+ * Formatted using E.164 standard. For example, _+16135551111_.
979
+ *
980
+ */
981
+ phone?: Maybe<Scalars['String']['output']>;
982
+ /**
983
+ * The alphanumeric code for the region.
984
+ *
985
+ * For example, ON.
986
+ *
987
+ */
988
+ provinceCode?: Maybe<Scalars['String']['output']>;
989
+ /** The zip or postal code of the address. */
990
+ zip?: Maybe<Scalars['String']['output']>;
991
+ };
992
+
993
+ /** Represents a mailing address for customers and shipping. */
994
+ export type CartDeliveryAddressFormattedArgs = {
995
+ withCompany?: InputMaybe<Scalars['Boolean']['input']>;
996
+ withName?: InputMaybe<Scalars['Boolean']['input']>;
997
+ };
998
+
999
+ /** The input fields to create or update a cart address. */
1000
+ export type CartDeliveryAddressInput = {
1001
+ /**
1002
+ * The first line of the address. Typically the street address or PO Box number.
1003
+ *
1004
+ */
1005
+ address1?: InputMaybe<Scalars['String']['input']>;
1006
+ /**
1007
+ * The second line of the address. Typically the number of the apartment, suite, or unit.
1008
+ *
1009
+ */
1010
+ address2?: InputMaybe<Scalars['String']['input']>;
1011
+ /**
1012
+ * The name of the city, district, village, or town.
1013
+ *
1014
+ */
1015
+ city?: InputMaybe<Scalars['String']['input']>;
1016
+ /**
1017
+ * The name of the customer's company or organization.
1018
+ *
1019
+ */
1020
+ company?: InputMaybe<Scalars['String']['input']>;
1021
+ /** The name of the country. */
1022
+ countryCode?: InputMaybe<CountryCode>;
1023
+ /** The first name of the customer. */
1024
+ firstName?: InputMaybe<Scalars['String']['input']>;
1025
+ /** The last name of the customer. */
1026
+ lastName?: InputMaybe<Scalars['String']['input']>;
1027
+ /**
1028
+ * A unique phone number for the customer.
1029
+ *
1030
+ * Formatted using E.164 standard. For example, _+16135551111_.
1031
+ *
1032
+ */
1033
+ phone?: InputMaybe<Scalars['String']['input']>;
1034
+ /** The region of the address, such as the province, state, or district. */
1035
+ provinceCode?: InputMaybe<Scalars['String']['input']>;
1036
+ /** The zip or postal code of the address. */
1037
+ zip?: InputMaybe<Scalars['String']['input']>;
1038
+ };
1039
+
1040
+ /** Return type for `cartDeliveryAddressesAdd` mutation. */
1041
+ export type CartDeliveryAddressesAddPayload = {
1042
+ __typename?: 'CartDeliveryAddressesAddPayload';
1043
+ /** The updated cart. */
1044
+ cart?: Maybe<Cart>;
1045
+ /** The list of errors that occurred from executing the mutation. */
1046
+ userErrors: Array<CartUserError>;
1047
+ /** A list of warnings that occurred during the mutation. */
1048
+ warnings: Array<CartWarning>;
1049
+ };
1050
+
1051
+ /** Return type for `cartDeliveryAddressesRemove` mutation. */
1052
+ export type CartDeliveryAddressesRemovePayload = {
1053
+ __typename?: 'CartDeliveryAddressesRemovePayload';
1054
+ /** The updated cart. */
1055
+ cart?: Maybe<Cart>;
1056
+ /** The list of errors that occurred from executing the mutation. */
1057
+ userErrors: Array<CartUserError>;
1058
+ /** A list of warnings that occurred during the mutation. */
1059
+ warnings: Array<CartWarning>;
1060
+ };
1061
+
1062
+ /** Return type for `cartDeliveryAddressesUpdate` mutation. */
1063
+ export type CartDeliveryAddressesUpdatePayload = {
1064
+ __typename?: 'CartDeliveryAddressesUpdatePayload';
1065
+ /** The updated cart. */
1066
+ cart?: Maybe<Cart>;
1067
+ /** The list of errors that occurred from executing the mutation. */
1068
+ userErrors: Array<CartUserError>;
1069
+ /** A list of warnings that occurred during the mutation. */
1070
+ warnings: Array<CartWarning>;
1071
+ };
1072
+
880
1073
  /** Preferred location used to find the closest pick up point based on coordinates. */
881
1074
  export type CartDeliveryCoordinatesPreference = {
882
1075
  __typename?: 'CartDeliveryCoordinatesPreference';
@@ -974,6 +1167,16 @@ export type CartDeliveryGroupType =
974
1167
  /** The delivery group only contains subscription merchandise. */
975
1168
  | 'SUBSCRIPTION';
976
1169
 
1170
+ /** The input fields for the cart's delivery properties. */
1171
+ export type CartDeliveryInput = {
1172
+ /**
1173
+ * Selectable addresses to present to the buyer on the cart.
1174
+ *
1175
+ * The input must not contain more than `250` values.
1176
+ */
1177
+ addresses?: InputMaybe<Array<CartSelectableAddressInput>>;
1178
+ };
1179
+
977
1180
  /** Information about a delivery option. */
978
1181
  export type CartDeliveryOption = {
979
1182
  __typename?: 'CartDeliveryOption';
@@ -1034,6 +1237,8 @@ export type CartDeliveryPreferenceInput = {
1034
1237
  *
1035
1238
  */
1036
1239
  export type CartDirectPaymentMethodInput = {
1240
+ /** Indicates if the customer has accepted the subscription terms. Defaults to false. */
1241
+ acceptedSubscriptionTerms?: InputMaybe<Scalars['Boolean']['input']>;
1037
1242
  /** The customer's billing address. */
1038
1243
  billingAddress: MailingAddressInput;
1039
1244
  /** The source of the credit card payment. */
@@ -1044,12 +1249,30 @@ export type CartDirectPaymentMethodInput = {
1044
1249
 
1045
1250
  /** The discounts that have been applied to the cart line. */
1046
1251
  export type CartDiscountAllocation = {
1252
+ /** The discount that have been applied on the cart line. */
1253
+ discountApplication: CartDiscountApplication;
1047
1254
  /** The discounted amount that has been applied to the cart line. */
1048
1255
  discountedAmount: MoneyV2;
1049
1256
  /** The type of line that the discount is applicable towards. */
1050
1257
  targetType: DiscountApplicationTargetType;
1051
1258
  };
1052
1259
 
1260
+ /**
1261
+ * The discount application capture the intentions of a discount source at
1262
+ * the time of application.
1263
+ */
1264
+ export type CartDiscountApplication = {
1265
+ __typename?: 'CartDiscountApplication';
1266
+ /** The method by which the discount's value is allocated to its entitled items. */
1267
+ allocationMethod: DiscountApplicationAllocationMethod;
1268
+ /** Which lines of targetType that the discount is allocated over. */
1269
+ targetSelection: DiscountApplicationTargetSelection;
1270
+ /** The type of line that the discount is applicable towards. */
1271
+ targetType: DiscountApplicationTargetType;
1272
+ /** The value of the discount application. */
1273
+ value: PricingValue;
1274
+ };
1275
+
1053
1276
  /** The discount codes applied to the cart. */
1054
1277
  export type CartDiscountCode = {
1055
1278
  __typename?: 'CartDiscountCode';
@@ -1088,6 +1311,8 @@ export type CartErrorCode =
1088
1311
  | 'INVALID'
1089
1312
  /** Company location not found or not allowed. */
1090
1313
  | 'INVALID_COMPANY_LOCATION'
1314
+ /** The delivery address was not found. */
1315
+ | 'INVALID_DELIVERY_ADDRESS_ID'
1091
1316
  /** Delivery group was not found in cart. */
1092
1317
  | 'INVALID_DELIVERY_GROUP'
1093
1318
  /** Delivery option was not valid. */
@@ -1120,10 +1345,14 @@ export type CartErrorCode =
1120
1345
  | 'MISSING_NOTE'
1121
1346
  /** The note length must be below the specified maximum. */
1122
1347
  | 'NOTE_TOO_LONG'
1348
+ /** Only one delivery address can be selected. */
1349
+ | 'ONLY_ONE_DELIVERY_ADDRESS_CAN_BE_SELECTED'
1123
1350
  /** The payment method is not supported. */
1124
1351
  | 'PAYMENT_METHOD_NOT_SUPPORTED'
1125
1352
  /** The given province cannot be found. */
1126
1353
  | 'PROVINCE_NOT_FOUND'
1354
+ /** Too many delivery addresses on Cart. */
1355
+ | 'TOO_MANY_DELIVERY_ADDRESSES'
1127
1356
  /** A general error occurred during address validation. */
1128
1357
  | 'UNSPECIFIED_ADDRESS_ERROR'
1129
1358
  /** Validation failed. */
@@ -1155,6 +1384,17 @@ export type CartFreePaymentMethodInput = {
1155
1384
  billingAddress: MailingAddressInput;
1156
1385
  };
1157
1386
 
1387
+ /** Return type for `cartGiftCardCodesRemove` mutation. */
1388
+ export type CartGiftCardCodesRemovePayload = {
1389
+ __typename?: 'CartGiftCardCodesRemovePayload';
1390
+ /** The updated cart. */
1391
+ cart?: Maybe<Cart>;
1392
+ /** The list of errors that occurred from executing the mutation. */
1393
+ userErrors: Array<CartUserError>;
1394
+ /** A list of warnings that occurred during the mutation. */
1395
+ warnings: Array<CartWarning>;
1396
+ };
1397
+
1158
1398
  /** Return type for `cartGiftCardCodesUpdate` mutation. */
1159
1399
  export type CartGiftCardCodesUpdatePayload = {
1160
1400
  __typename?: 'CartGiftCardCodesUpdatePayload';
@@ -1181,6 +1421,8 @@ export type CartInput = {
1181
1421
  *
1182
1422
  */
1183
1423
  buyerIdentity?: InputMaybe<CartBuyerIdentityInput>;
1424
+ /** The delivery-related fields for the cart. */
1425
+ delivery?: InputMaybe<CartDeliveryInput>;
1184
1426
  /**
1185
1427
  * The case-insensitive discount codes that the customer added at checkout.
1186
1428
  *
@@ -1421,6 +1663,15 @@ export type CartNoteUpdatePayload = {
1421
1663
  warnings: Array<CartWarning>;
1422
1664
  };
1423
1665
 
1666
+ /** An error occurred during the cart operation. */
1667
+ export type CartOperationError = {
1668
+ __typename?: 'CartOperationError';
1669
+ /** The error code. */
1670
+ code: Scalars['String']['output'];
1671
+ /** The error message. */
1672
+ message?: Maybe<Scalars['String']['output']>;
1673
+ };
1674
+
1424
1675
  /**
1425
1676
  * The input fields for updating the payment method that will be used to checkout.
1426
1677
  *
@@ -1493,6 +1744,63 @@ export type CartPreferencesInput = {
1493
1744
  wallet?: InputMaybe<Array<Scalars['String']['input']>>;
1494
1745
  };
1495
1746
 
1747
+ /** Return type for `cartPrepareForCompletion` mutation. */
1748
+ export type CartPrepareForCompletionPayload = {
1749
+ __typename?: 'CartPrepareForCompletionPayload';
1750
+ /** The result of cart preparation for completion. */
1751
+ result?: Maybe<CartPrepareForCompletionResult>;
1752
+ /** The list of errors that occurred from executing the mutation. */
1753
+ userErrors: Array<CartUserError>;
1754
+ };
1755
+
1756
+ /** The result of cart preparation. */
1757
+ export type CartPrepareForCompletionResult =
1758
+ | CartStatusNotReady
1759
+ | CartStatusReady
1760
+ | CartThrottled;
1761
+
1762
+ /**
1763
+ * A selectable delivery address for a cart.
1764
+ *
1765
+ */
1766
+ export type CartSelectableAddress = {
1767
+ __typename?: 'CartSelectableAddress';
1768
+ /** The delivery address. */
1769
+ address: CartAddress;
1770
+ /** A unique identifier for the address, specific to this cart. */
1771
+ id: Scalars['ID']['output'];
1772
+ /** This delivery address will not be associated with the buyer after a successful checkout. */
1773
+ oneTimeUse: Scalars['Boolean']['output'];
1774
+ /** Sets exactly one address as pre-selected for the buyer. */
1775
+ selected: Scalars['Boolean']['output'];
1776
+ };
1777
+
1778
+ /** The input fields for a selectable delivery address in a cart. */
1779
+ export type CartSelectableAddressInput = {
1780
+ /** Exactly one kind of delivery address. */
1781
+ address: CartAddressInput;
1782
+ /** When true, this delivery address will not be associated with the buyer after a successful checkout. */
1783
+ oneTimeUse?: InputMaybe<Scalars['Boolean']['input']>;
1784
+ /** Sets exactly one address as pre-selected for the buyer. */
1785
+ selected?: InputMaybe<Scalars['Boolean']['input']>;
1786
+ /** Defines what kind of address validation is requested. */
1787
+ validationStrategy?: InputMaybe<DeliveryAddressValidationStrategy>;
1788
+ };
1789
+
1790
+ /** The input fields to update a line item on a cart. */
1791
+ export type CartSelectableAddressUpdateInput = {
1792
+ /** Exactly one kind of delivery address. */
1793
+ address?: InputMaybe<CartAddressInput>;
1794
+ /** The id of the selectable address. */
1795
+ id: Scalars['ID']['input'];
1796
+ /** When true, this delivery address will not be associated with the buyer after a successful checkout. */
1797
+ oneTimeUse?: InputMaybe<Scalars['Boolean']['input']>;
1798
+ /** Sets exactly one address as pre-selected for the buyer. */
1799
+ selected?: InputMaybe<Scalars['Boolean']['input']>;
1800
+ /** Defines what kind of address validation is requested. */
1801
+ validationStrategy?: InputMaybe<DeliveryAddressValidationStrategy>;
1802
+ };
1803
+
1496
1804
  /**
1497
1805
  * The input fields for updating the selected delivery options for a delivery group.
1498
1806
  *
@@ -1515,6 +1823,22 @@ export type CartSelectedDeliveryOptionsUpdatePayload = {
1515
1823
  warnings: Array<CartWarning>;
1516
1824
  };
1517
1825
 
1826
+ /** Cart is not ready for payment update and completion. */
1827
+ export type CartStatusNotReady = {
1828
+ __typename?: 'CartStatusNotReady';
1829
+ /** The result of cart preparation for completion. */
1830
+ cart?: Maybe<Cart>;
1831
+ /** The list of errors that caused the cart to not be ready for payment update and completion. */
1832
+ errors: Array<CartOperationError>;
1833
+ };
1834
+
1835
+ /** Cart is ready for payment update and completion. */
1836
+ export type CartStatusReady = {
1837
+ __typename?: 'CartStatusReady';
1838
+ /** The result of cart preparation for completion. */
1839
+ cart?: Maybe<Cart>;
1840
+ };
1841
+
1518
1842
  /** Return type for `cartSubmitForCompletion` mutation. */
1519
1843
  export type CartSubmitForCompletionPayload = {
1520
1844
  __typename?: 'CartSubmitForCompletionPayload';
@@ -1531,6 +1855,17 @@ export type CartSubmitForCompletionResult =
1531
1855
  | SubmitSuccess
1532
1856
  | SubmitThrottled;
1533
1857
 
1858
+ /**
1859
+ * Response signifying that the access to cart request is currently being throttled.
1860
+ * The client can retry after `poll_after`.
1861
+ *
1862
+ */
1863
+ export type CartThrottled = {
1864
+ __typename?: 'CartThrottled';
1865
+ /** The polling delay. */
1866
+ pollAfter: Scalars['DateTime']['output'];
1867
+ };
1868
+
1534
1869
  /** Represents an error that happens during execution of a cart mutation. */
1535
1870
  export type CartUserError = DisplayableError & {
1536
1871
  __typename?: 'CartUserError';
@@ -1566,6 +1901,8 @@ export type CartWarning = {
1566
1901
 
1567
1902
  /** The code for the cart warning. */
1568
1903
  export type CartWarningCode =
1904
+ /** A delivery address with the same details already exists on this cart. */
1905
+ | 'DUPLICATE_DELIVERY_ADDRESS'
1569
1906
  /** The merchandise does not have enough stock. */
1570
1907
  | 'MERCHANDISE_NOT_ENOUGH_STOCK'
1571
1908
  /** The merchandise is out of stock. */
@@ -1573,6 +1910,15 @@ export type CartWarningCode =
1573
1910
  /** Gift cards are not available as a payment method. */
1574
1911
  | 'PAYMENTS_GIFT_CARDS_UNAVAILABLE';
1575
1912
 
1913
+ /**
1914
+ * A filter used to view a subset of products in a collection matching a specific category value.
1915
+ *
1916
+ */
1917
+ export type CategoryFilter = {
1918
+ /** The id of the category to filter on. */
1919
+ id: Scalars['String']['input'];
1920
+ };
1921
+
1576
1922
  /**
1577
1923
  * A collection represents a grouping of products that a shop owner can create to
1578
1924
  * organize them or make their shops easier to browse.
@@ -1597,9 +1943,9 @@ export type Collection = HasMetafields &
1597
1943
  id: Scalars['ID']['output'];
1598
1944
  /** Image associated with the collection. */
1599
1945
  image?: Maybe<Image>;
1600
- /** Returns a metafield found by namespace and key. */
1946
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
1601
1947
  metafield?: Maybe<Metafield>;
1602
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
1948
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
1603
1949
  metafields: Array<Maybe<Metafield>>;
1604
1950
  /** 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. */
1605
1951
  onlineStoreUrl?: Maybe<Scalars['URL']['output']>;
@@ -1764,9 +2110,9 @@ export type Company = HasMetafields &
1764
2110
  externalId?: Maybe<Scalars['String']['output']>;
1765
2111
  /** A globally-unique ID. */
1766
2112
  id: Scalars['ID']['output'];
1767
- /** Returns a metafield found by namespace and key. */
2113
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
1768
2114
  metafield?: Maybe<Metafield>;
1769
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2115
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
1770
2116
  metafields: Array<Maybe<Metafield>>;
1771
2117
  /** The name of the company. */
1772
2118
  name: Scalars['String']['output'];
@@ -1812,9 +2158,9 @@ export type CompanyLocation = HasMetafields &
1812
2158
  id: Scalars['ID']['output'];
1813
2159
  /** The preferred locale of the company location. */
1814
2160
  locale?: Maybe<Scalars['String']['output']>;
1815
- /** Returns a metafield found by namespace and key. */
2161
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
1816
2162
  metafield?: Maybe<Metafield>;
1817
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
2163
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
1818
2164
  metafields: Array<Maybe<Metafield>>;
1819
2165
  /** The name of the company location. */
1820
2166
  name: Scalars['String']['output'];
@@ -2810,9 +3156,9 @@ export type Customer = HasMetafields & {
2810
3156
  id: Scalars['ID']['output'];
2811
3157
  /** The customer’s last name. */
2812
3158
  lastName?: Maybe<Scalars['String']['output']>;
2813
- /** Returns a metafield found by namespace and key. */
3159
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
2814
3160
  metafield?: Maybe<Metafield>;
2815
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3161
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
2816
3162
  metafields: Array<Maybe<Metafield>>;
2817
3163
  /** The number of orders that the customer has made at the store in their lifetime. */
2818
3164
  numberOfOrders: Scalars['UnsignedInt64']['output'];
@@ -3587,9 +3933,9 @@ export type GeoCoordinateInput = {
3587
3933
 
3588
3934
  /** Represents information about the metafields associated to the specified resource. */
3589
3935
  export type HasMetafields = {
3590
- /** Returns a metafield found by namespace and key. */
3936
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
3591
3937
  metafield?: Maybe<Metafield>;
3592
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
3938
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
3593
3939
  metafields: Array<Maybe<Metafield>>;
3594
3940
  };
3595
3941
 
@@ -4088,9 +4434,9 @@ export type Location = HasMetafields &
4088
4434
  address: LocationAddress;
4089
4435
  /** A globally-unique ID. */
4090
4436
  id: Scalars['ID']['output'];
4091
- /** Returns a metafield found by namespace and key. */
4437
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
4092
4438
  metafield?: Maybe<Metafield>;
4093
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
4439
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
4094
4440
  metafields: Array<Maybe<Metafield>>;
4095
4441
  /** The name of the location. */
4096
4442
  name: Scalars['String']['output'];
@@ -4350,9 +4696,9 @@ export type Market = HasMetafields &
4350
4696
  handle: Scalars['String']['output'];
4351
4697
  /** A globally-unique ID. */
4352
4698
  id: Scalars['ID']['output'];
4353
- /** Returns a metafield found by namespace and key. */
4699
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
4354
4700
  metafield?: Maybe<Metafield>;
4355
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
4701
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
4356
4702
  metafields: Array<Maybe<Metafield>>;
4357
4703
  };
4358
4704
 
@@ -4899,8 +5245,16 @@ export type Mutation = {
4899
5245
  cartBuyerIdentityUpdate?: Maybe<CartBuyerIdentityUpdatePayload>;
4900
5246
  /** Creates a new cart. */
4901
5247
  cartCreate?: Maybe<CartCreatePayload>;
5248
+ /** Adds delivery addresses to the cart. */
5249
+ cartDeliveryAddressesAdd?: Maybe<CartDeliveryAddressesAddPayload>;
5250
+ /** Removes delivery addresses from the cart. */
5251
+ cartDeliveryAddressesRemove?: Maybe<CartDeliveryAddressesRemovePayload>;
5252
+ /** Updates one or more delivery addresses on a cart. */
5253
+ cartDeliveryAddressesUpdate?: Maybe<CartDeliveryAddressesUpdatePayload>;
4902
5254
  /** Updates the discount codes applied to the cart. */
4903
5255
  cartDiscountCodesUpdate?: Maybe<CartDiscountCodesUpdatePayload>;
5256
+ /** Removes the gift card codes applied to the cart. */
5257
+ cartGiftCardCodesRemove?: Maybe<CartGiftCardCodesRemovePayload>;
4904
5258
  /** Updates the gift card codes applied to the cart. */
4905
5259
  cartGiftCardCodesUpdate?: Maybe<CartGiftCardCodesUpdatePayload>;
4906
5260
  /** Adds a merchandise line to the cart. */
@@ -4922,6 +5276,8 @@ export type Mutation = {
4922
5276
  cartNoteUpdate?: Maybe<CartNoteUpdatePayload>;
4923
5277
  /** Update the customer's payment method that will be used to checkout. */
4924
5278
  cartPaymentUpdate?: Maybe<CartPaymentUpdatePayload>;
5279
+ /** Prepare the cart for cart checkout completion. */
5280
+ cartPrepareForCompletion?: Maybe<CartPrepareForCompletionPayload>;
4925
5281
  /** Update the selected delivery options for a delivery group. */
4926
5282
  cartSelectedDeliveryOptionsUpdate?: Maybe<CartSelectedDeliveryOptionsUpdatePayload>;
4927
5283
  /** Submit the cart for checkout completion. */
@@ -5021,12 +5377,36 @@ export type MutationCartCreateArgs = {
5021
5377
  input?: InputMaybe<CartInput>;
5022
5378
  };
5023
5379
 
5380
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5381
+ export type MutationCartDeliveryAddressesAddArgs = {
5382
+ addresses: Array<CartSelectableAddressInput>;
5383
+ cartId: Scalars['ID']['input'];
5384
+ };
5385
+
5386
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5387
+ export type MutationCartDeliveryAddressesRemoveArgs = {
5388
+ addressIds: Array<Scalars['ID']['input']>;
5389
+ cartId: Scalars['ID']['input'];
5390
+ };
5391
+
5392
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5393
+ export type MutationCartDeliveryAddressesUpdateArgs = {
5394
+ addresses: Array<CartSelectableAddressUpdateInput>;
5395
+ cartId: Scalars['ID']['input'];
5396
+ };
5397
+
5024
5398
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5025
5399
  export type MutationCartDiscountCodesUpdateArgs = {
5026
5400
  cartId: Scalars['ID']['input'];
5027
5401
  discountCodes?: InputMaybe<Array<Scalars['String']['input']>>;
5028
5402
  };
5029
5403
 
5404
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5405
+ export type MutationCartGiftCardCodesRemoveArgs = {
5406
+ appliedGiftCardIds: Array<Scalars['ID']['input']>;
5407
+ cartId: Scalars['ID']['input'];
5408
+ };
5409
+
5030
5410
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5031
5411
  export type MutationCartGiftCardCodesUpdateArgs = {
5032
5412
  cartId: Scalars['ID']['input'];
@@ -5073,6 +5453,11 @@ export type MutationCartPaymentUpdateArgs = {
5073
5453
  payment: CartPaymentInput;
5074
5454
  };
5075
5455
 
5456
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5457
+ export type MutationCartPrepareForCompletionArgs = {
5458
+ cartId: Scalars['ID']['input'];
5459
+ };
5460
+
5076
5461
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5077
5462
  export type MutationCartSelectedDeliveryOptionsUpdateArgs = {
5078
5463
  cartId: Scalars['ID']['input'];
@@ -5244,9 +5629,9 @@ export type Order = HasMetafields &
5244
5629
  id: Scalars['ID']['output'];
5245
5630
  /** List of the order’s line items. */
5246
5631
  lineItems: OrderLineItemConnection;
5247
- /** Returns a metafield found by namespace and key. */
5632
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
5248
5633
  metafield?: Maybe<Metafield>;
5249
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
5634
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
5250
5635
  metafields: Array<Maybe<Metafield>>;
5251
5636
  /**
5252
5637
  * Unique identifier for the order that appears on the order.
@@ -5510,9 +5895,9 @@ export type Page = HasMetafields &
5510
5895
  handle: Scalars['String']['output'];
5511
5896
  /** A globally-unique ID. */
5512
5897
  id: Scalars['ID']['output'];
5513
- /** Returns a metafield found by namespace and key. */
5898
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
5514
5899
  metafield?: Maybe<Metafield>;
5515
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
5900
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
5516
5901
  metafields: Array<Maybe<Metafield>>;
5517
5902
  /** 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. */
5518
5903
  onlineStoreUrl?: Maybe<Scalars['URL']['output']>;
@@ -5612,11 +5997,11 @@ export type PaginatedSitemapResources = {
5612
5997
  /** Settings related to payments. */
5613
5998
  export type PaymentSettings = {
5614
5999
  __typename?: 'PaymentSettings';
5615
- /** List of the card brands which the shop accepts. */
6000
+ /** List of the card brands which the business entity accepts. */
5616
6001
  acceptedCardBrands: Array<CardBrand>;
5617
6002
  /** The url pointing to the endpoint to vault credit cards. */
5618
6003
  cardVaultUrl: Scalars['URL']['output'];
5619
- /** The country where the shop is located. */
6004
+ /** The country where the shop is located. When multiple business entities operate within the shop, then this will represent the country of the business entity that's serving the specified buyer context. */
5620
6005
  countryCode: CountryCode;
5621
6006
  /** The three-letter code for the shop's primary currency. */
5622
6007
  currencyCode: CurrencyCode;
@@ -5628,7 +6013,7 @@ export type PaymentSettings = {
5628
6013
  enabledPresentmentCurrencies: Array<CurrencyCode>;
5629
6014
  /** The shop’s Shopify Payments account ID. */
5630
6015
  shopifyPaymentsAccountId?: Maybe<Scalars['String']['output']>;
5631
- /** List of the digital wallets which the shop supports. */
6016
+ /** List of the digital wallets which the business entity supports. */
5632
6017
  supportedDigitalWallets: Array<DigitalWallet>;
5633
6018
  };
5634
6019
 
@@ -5702,10 +6087,16 @@ export type PricingPercentageValue = {
5702
6087
  export type PricingValue = MoneyV2 | PricingPercentageValue;
5703
6088
 
5704
6089
  /**
5705
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5706
- * For example, a digital download (such as a movie, music or ebook file) also
5707
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5708
- * customization of another product or an extended warranty).
6090
+ * The `Product` object lets you manage products in a merchant’s store.
6091
+ *
6092
+ * Products are the goods and services that merchants offer to customers.
6093
+ * They can include various details such as title, description, price, images, and options such as size or color.
6094
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6095
+ * to create or update different versions of the same product.
6096
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6097
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6098
+ *
6099
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5709
6100
  *
5710
6101
  */
5711
6102
  export type Product = HasMetafields &
@@ -5728,17 +6119,22 @@ export type Product = HasMetafields &
5728
6119
  adjacentVariants: Array<ProductVariant>;
5729
6120
  /** Indicates if at least one product variant is available for sale. */
5730
6121
  availableForSale: Scalars['Boolean']['output'];
5731
- /** The taxonomy category for the product. */
6122
+ /** The category of a product from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). */
5732
6123
  category?: Maybe<TaxonomyCategory>;
5733
- /** List of collections a product belongs to. */
6124
+ /** A list of [collections](/docs/api/storefront/latest/objects/Collection) that include the product. */
5734
6125
  collections: CollectionConnection;
5735
- /** The compare at price of the product across all variants. */
6126
+ /** The [compare-at price range](https://help.shopify.com/manual/products/details/product-pricing/sale-pricing) of the product in the shop's default currency. */
5736
6127
  compareAtPriceRange: ProductPriceRange;
5737
6128
  /** The date and time when the product was created. */
5738
6129
  createdAt: Scalars['DateTime']['output'];
5739
- /** Stripped description of the product, single line with HTML tags removed. */
6130
+ /** A single-line description of the product, with [HTML tags](https://developer.mozilla.org/en-US/docs/Web/HTML) removed. */
5740
6131
  description: Scalars['String']['output'];
5741
- /** The description of the product, complete with HTML formatting. */
6132
+ /**
6133
+ * The description of the product, with
6134
+ * HTML tags. For example, the description might include
6135
+ * bold `<strong></strong>` and italic `<i></i>` text.
6136
+ *
6137
+ */
5742
6138
  descriptionHtml: Scalars['HTML']['output'];
5743
6139
  /**
5744
6140
  * An encoded string containing all option value combinations
@@ -5809,8 +6205,9 @@ export type Product = HasMetafields &
5809
6205
  */
5810
6206
  featuredImage?: Maybe<Image>;
5811
6207
  /**
5812
- * A human-friendly unique string for the Product automatically generated from its title.
5813
- * They are used by the Liquid templating language to refer to objects.
6208
+ * A unique, human-readable string of the product's title.
6209
+ * A handle can contain letters, hyphens (`-`), and numbers, but no spaces.
6210
+ * The handle is used in the online store URL for the product.
5814
6211
  *
5815
6212
  */
5816
6213
  handle: Scalars['String']['output'];
@@ -5820,27 +6217,36 @@ export type Product = HasMetafields &
5820
6217
  images: ImageConnection;
5821
6218
  /** Whether the product is a gift card. */
5822
6219
  isGiftCard: Scalars['Boolean']['output'];
5823
- /** The media associated with the product. */
6220
+ /** The [media](/docs/apps/build/online-store/product-media) that are associated with the product. Valid media are images, 3D models, videos. */
5824
6221
  media: MediaConnection;
5825
- /** Returns a metafield found by namespace and key. */
6222
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
5826
6223
  metafield?: Maybe<Metafield>;
5827
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
6224
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
5828
6225
  metafields: Array<Maybe<Metafield>>;
5829
6226
  /**
5830
- * The URL used for viewing the resource on the shop's Online Store. Returns
5831
- * `null` if the resource is currently not published to the Online Store sales channel.
6227
+ * The product's URL on the online store.
6228
+ * If `null`, then the product isn't published to the online store sales channel.
5832
6229
  *
5833
6230
  */
5834
6231
  onlineStoreUrl?: Maybe<Scalars['URL']['output']>;
5835
- /** List of product options. */
6232
+ /** A list of product options. The limit is defined by the [shop's resource limits for product options](/docs/api/admin-graphql/latest/objects/Shop#field-resourcelimits) (`Shop.resourceLimits.maxProductOptions`). */
5836
6233
  options: Array<ProductOption>;
5837
- /** The price range. */
6234
+ /**
6235
+ * The minimum and maximum prices of a product, expressed in decimal numbers.
6236
+ * For example, if the product is priced between $10.00 and $50.00,
6237
+ * then the price range is $10.00 - $50.00.
6238
+ *
6239
+ */
5838
6240
  priceRange: ProductPriceRange;
5839
- /** A categorization that a product can be tagged with, commonly used for filtering and searching. */
6241
+ /**
6242
+ * The [product type](https://help.shopify.com/manual/products/details/product-type)
6243
+ * that merchants define.
6244
+ *
6245
+ */
5840
6246
  productType: Scalars['String']['output'];
5841
6247
  /** The date and time when the product was published to the channel. */
5842
6248
  publishedAt: Scalars['DateTime']['output'];
5843
- /** Whether the product can only be purchased with a selling plan. */
6249
+ /** Whether the product can only be purchased with a [selling plan](/docs/apps/build/purchase-options/subscriptions/selling-plans). Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels, except the online store. */
5844
6250
  requiresSellingPlan: Scalars['Boolean']['output'];
5845
6251
  /**
5846
6252
  * Find an active product variant based on selected options, availability or the first variant.
@@ -5850,19 +6256,32 @@ export type Product = HasMetafields &
5850
6256
  *
5851
6257
  */
5852
6258
  selectedOrFirstAvailableVariant?: Maybe<ProductVariant>;
5853
- /** A list of a product's available selling plan groups. A selling plan group represents a selling method. For example, 'Subscribe and save' is a selling method where customers pay for goods or services per delivery. A selling plan group contains individual selling plans. */
6259
+ /** A list of all [selling plan groups](/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan) that are associated with the product either directly, or through the product's variants. */
5854
6260
  sellingPlanGroups: SellingPlanGroupConnection;
5855
- /** The product's SEO information. */
6261
+ /**
6262
+ * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)
6263
+ * that are associated with a product.
6264
+ *
6265
+ */
5856
6266
  seo: Seo;
5857
6267
  /**
5858
- * A comma separated list of tags that have been added to the product.
5859
- * Additional access scope required for private apps: unauthenticated_read_product_tags.
6268
+ * A comma-separated list of searchable keywords that are
6269
+ * associated with the product. For example, a merchant might apply the `sports`
6270
+ * and `summer` tags to products that are associated with sportwear for summer.
6271
+ * Updating `tags` overwrites any existing tags that were previously added to the product.
6272
+ * To add new tags without overwriting existing tags,
6273
+ * use the GraphQL Admin API's [`tagsAdd`](/docs/api/admin-graphql/latest/mutations/tagsadd)
6274
+ * mutation.
5860
6275
  *
5861
6276
  */
5862
6277
  tags: Array<Scalars['String']['output']>;
5863
- /** The product’s title. */
6278
+ /**
6279
+ * The name for the product that displays to customers. The title is used to construct the product's handle.
6280
+ * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`.
6281
+ *
6282
+ */
5864
6283
  title: Scalars['String']['output'];
5865
- /** The total quantity of inventory in stock for this Product. */
6284
+ /** The quantity of inventory that's in stock. */
5866
6285
  totalInventory?: Maybe<Scalars['Int']['output']>;
5867
6286
  /** 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. */
5868
6287
  trackingParameters?: Maybe<Scalars['String']['output']>;
@@ -5881,19 +6300,25 @@ export type Product = HasMetafields &
5881
6300
  *
5882
6301
  */
5883
6302
  variantBySelectedOptions?: Maybe<ProductVariant>;
5884
- /** List of the product’s variants. */
6303
+ /** A list of [variants](/docs/api/storefront/latest/objects/ProductVariant) that are associated with the product. */
5885
6304
  variants: ProductVariantConnection;
5886
- /** The total count of variants for this product. */
6305
+ /** The number of [variants](/docs/api/storefront/latest/objects/ProductVariant) that are associated with the product. */
5887
6306
  variantsCount?: Maybe<Count>;
5888
- /** The products vendor name. */
6307
+ /** The name of the product's vendor. */
5889
6308
  vendor: Scalars['String']['output'];
5890
6309
  };
5891
6310
 
5892
6311
  /**
5893
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5894
- * For example, a digital download (such as a movie, music or ebook file) also
5895
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5896
- * customization of another product or an extended warranty).
6312
+ * The `Product` object lets you manage products in a merchant’s store.
6313
+ *
6314
+ * Products are the goods and services that merchants offer to customers.
6315
+ * They can include various details such as title, description, price, images, and options such as size or color.
6316
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6317
+ * to create or update different versions of the same product.
6318
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6319
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6320
+ *
6321
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5897
6322
  *
5898
6323
  */
5899
6324
  export type ProductAdjacentVariantsArgs = {
@@ -5903,10 +6328,16 @@ export type ProductAdjacentVariantsArgs = {
5903
6328
  };
5904
6329
 
5905
6330
  /**
5906
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5907
- * For example, a digital download (such as a movie, music or ebook file) also
5908
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5909
- * customization of another product or an extended warranty).
6331
+ * The `Product` object lets you manage products in a merchant’s store.
6332
+ *
6333
+ * Products are the goods and services that merchants offer to customers.
6334
+ * They can include various details such as title, description, price, images, and options such as size or color.
6335
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6336
+ * to create or update different versions of the same product.
6337
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6338
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6339
+ *
6340
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5910
6341
  *
5911
6342
  */
5912
6343
  export type ProductCollectionsArgs = {
@@ -5918,10 +6349,16 @@ export type ProductCollectionsArgs = {
5918
6349
  };
5919
6350
 
5920
6351
  /**
5921
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5922
- * For example, a digital download (such as a movie, music or ebook file) also
5923
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5924
- * customization of another product or an extended warranty).
6352
+ * The `Product` object lets you manage products in a merchant’s store.
6353
+ *
6354
+ * Products are the goods and services that merchants offer to customers.
6355
+ * They can include various details such as title, description, price, images, and options such as size or color.
6356
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6357
+ * to create or update different versions of the same product.
6358
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6359
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6360
+ *
6361
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5925
6362
  *
5926
6363
  */
5927
6364
  export type ProductDescriptionArgs = {
@@ -5929,10 +6366,16 @@ export type ProductDescriptionArgs = {
5929
6366
  };
5930
6367
 
5931
6368
  /**
5932
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5933
- * For example, a digital download (such as a movie, music or ebook file) also
5934
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5935
- * customization of another product or an extended warranty).
6369
+ * The `Product` object lets you manage products in a merchant’s store.
6370
+ *
6371
+ * Products are the goods and services that merchants offer to customers.
6372
+ * They can include various details such as title, description, price, images, and options such as size or color.
6373
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6374
+ * to create or update different versions of the same product.
6375
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6376
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6377
+ *
6378
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5936
6379
  *
5937
6380
  */
5938
6381
  export type ProductImagesArgs = {
@@ -5945,10 +6388,16 @@ export type ProductImagesArgs = {
5945
6388
  };
5946
6389
 
5947
6390
  /**
5948
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5949
- * For example, a digital download (such as a movie, music or ebook file) also
5950
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5951
- * customization of another product or an extended warranty).
6391
+ * The `Product` object lets you manage products in a merchant’s store.
6392
+ *
6393
+ * Products are the goods and services that merchants offer to customers.
6394
+ * They can include various details such as title, description, price, images, and options such as size or color.
6395
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6396
+ * to create or update different versions of the same product.
6397
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6398
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6399
+ *
6400
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5952
6401
  *
5953
6402
  */
5954
6403
  export type ProductMediaArgs = {
@@ -5961,10 +6410,16 @@ export type ProductMediaArgs = {
5961
6410
  };
5962
6411
 
5963
6412
  /**
5964
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5965
- * For example, a digital download (such as a movie, music or ebook file) also
5966
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5967
- * customization of another product or an extended warranty).
6413
+ * The `Product` object lets you manage products in a merchant’s store.
6414
+ *
6415
+ * Products are the goods and services that merchants offer to customers.
6416
+ * They can include various details such as title, description, price, images, and options such as size or color.
6417
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6418
+ * to create or update different versions of the same product.
6419
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6420
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6421
+ *
6422
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5968
6423
  *
5969
6424
  */
5970
6425
  export type ProductMetafieldArgs = {
@@ -5973,10 +6428,16 @@ export type ProductMetafieldArgs = {
5973
6428
  };
5974
6429
 
5975
6430
  /**
5976
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5977
- * For example, a digital download (such as a movie, music or ebook file) also
5978
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5979
- * customization of another product or an extended warranty).
6431
+ * The `Product` object lets you manage products in a merchant’s store.
6432
+ *
6433
+ * Products are the goods and services that merchants offer to customers.
6434
+ * They can include various details such as title, description, price, images, and options such as size or color.
6435
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6436
+ * to create or update different versions of the same product.
6437
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6438
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6439
+ *
6440
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5980
6441
  *
5981
6442
  */
5982
6443
  export type ProductMetafieldsArgs = {
@@ -5984,10 +6445,16 @@ export type ProductMetafieldsArgs = {
5984
6445
  };
5985
6446
 
5986
6447
  /**
5987
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5988
- * For example, a digital download (such as a movie, music or ebook file) also
5989
- * qualifies as a product, as do services (such as equipment rental, work for hire,
5990
- * customization of another product or an extended warranty).
6448
+ * The `Product` object lets you manage products in a merchant’s store.
6449
+ *
6450
+ * Products are the goods and services that merchants offer to customers.
6451
+ * They can include various details such as title, description, price, images, and options such as size or color.
6452
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6453
+ * to create or update different versions of the same product.
6454
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6455
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6456
+ *
6457
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
5991
6458
  *
5992
6459
  */
5993
6460
  export type ProductOptionsArgs = {
@@ -5995,10 +6462,16 @@ export type ProductOptionsArgs = {
5995
6462
  };
5996
6463
 
5997
6464
  /**
5998
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
5999
- * For example, a digital download (such as a movie, music or ebook file) also
6000
- * qualifies as a product, as do services (such as equipment rental, work for hire,
6001
- * customization of another product or an extended warranty).
6465
+ * The `Product` object lets you manage products in a merchant’s store.
6466
+ *
6467
+ * Products are the goods and services that merchants offer to customers.
6468
+ * They can include various details such as title, description, price, images, and options such as size or color.
6469
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6470
+ * to create or update different versions of the same product.
6471
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6472
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6473
+ *
6474
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
6002
6475
  *
6003
6476
  */
6004
6477
  export type ProductSelectedOrFirstAvailableVariantArgs = {
@@ -6008,10 +6481,16 @@ export type ProductSelectedOrFirstAvailableVariantArgs = {
6008
6481
  };
6009
6482
 
6010
6483
  /**
6011
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
6012
- * For example, a digital download (such as a movie, music or ebook file) also
6013
- * qualifies as a product, as do services (such as equipment rental, work for hire,
6014
- * customization of another product or an extended warranty).
6484
+ * The `Product` object lets you manage products in a merchant’s store.
6485
+ *
6486
+ * Products are the goods and services that merchants offer to customers.
6487
+ * They can include various details such as title, description, price, images, and options such as size or color.
6488
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6489
+ * to create or update different versions of the same product.
6490
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6491
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6492
+ *
6493
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
6015
6494
  *
6016
6495
  */
6017
6496
  export type ProductSellingPlanGroupsArgs = {
@@ -6023,10 +6502,16 @@ export type ProductSellingPlanGroupsArgs = {
6023
6502
  };
6024
6503
 
6025
6504
  /**
6026
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
6027
- * For example, a digital download (such as a movie, music or ebook file) also
6028
- * qualifies as a product, as do services (such as equipment rental, work for hire,
6029
- * customization of another product or an extended warranty).
6505
+ * The `Product` object lets you manage products in a merchant’s store.
6506
+ *
6507
+ * Products are the goods and services that merchants offer to customers.
6508
+ * They can include various details such as title, description, price, images, and options such as size or color.
6509
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6510
+ * to create or update different versions of the same product.
6511
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6512
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6513
+ *
6514
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
6030
6515
  *
6031
6516
  */
6032
6517
  export type ProductVariantBySelectedOptionsArgs = {
@@ -6036,10 +6521,16 @@ export type ProductVariantBySelectedOptionsArgs = {
6036
6521
  };
6037
6522
 
6038
6523
  /**
6039
- * A product represents an individual item for sale in a Shopify store. Products are often physical, but they don't have to be.
6040
- * For example, a digital download (such as a movie, music or ebook file) also
6041
- * qualifies as a product, as do services (such as equipment rental, work for hire,
6042
- * customization of another product or an extended warranty).
6524
+ * The `Product` object lets you manage products in a merchant’s store.
6525
+ *
6526
+ * Products are the goods and services that merchants offer to customers.
6527
+ * They can include various details such as title, description, price, images, and options such as size or color.
6528
+ * You can use [product variants](/docs/api/storefront/latest/objects/ProductVariant)
6529
+ * to create or update different versions of the same product.
6530
+ * You can also add or update product [media](/docs/api/storefront/latest/interfaces/Media).
6531
+ * Products can be organized by grouping them into a [collection](/docs/api/storefront/latest/objects/Collection).
6532
+ *
6533
+ * Learn more about working with [products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections).
6043
6534
  *
6044
6535
  */
6045
6536
  export type ProductVariantsArgs = {
@@ -6111,6 +6602,8 @@ export type ProductEdge = {
6111
6602
  export type ProductFilter = {
6112
6603
  /** Filter on if the product is available for sale. */
6113
6604
  available?: InputMaybe<Scalars['Boolean']['input']>;
6605
+ /** A product category to filter on. */
6606
+ category?: InputMaybe<CategoryFilter>;
6114
6607
  /** A range of prices to filter with-in. */
6115
6608
  price?: InputMaybe<PriceRangeFilter>;
6116
6609
  /** A product metafield to filter on. */
@@ -6121,6 +6614,8 @@ export type ProductFilter = {
6121
6614
  productVendor?: InputMaybe<Scalars['String']['input']>;
6122
6615
  /** A product tag to filter on. */
6123
6616
  tag?: InputMaybe<Scalars['String']['input']>;
6617
+ /** A standard product attribute metafield to filter on. */
6618
+ taxonomyMetafield?: InputMaybe<TaxonomyMetafieldFilter>;
6124
6619
  /** A variant metafield to filter on. */
6125
6620
  variantMetafield?: InputMaybe<MetafieldFilter>;
6126
6621
  /** A variant option to filter on. */
@@ -6289,9 +6784,9 @@ export type ProductVariant = HasMetafields &
6289
6784
  id: Scalars['ID']['output'];
6290
6785
  /** Image associated with the product variant. This field falls back to the product image if no image is available. */
6291
6786
  image?: Maybe<Image>;
6292
- /** Returns a metafield found by namespace and key. */
6787
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
6293
6788
  metafield?: Maybe<Metafield>;
6294
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
6789
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
6295
6790
  metafields: Array<Maybe<Metafield>>;
6296
6791
  /** The product variant’s price. */
6297
6792
  price: MoneyV2;
@@ -6730,6 +7225,8 @@ export type QueryRoot = {
6730
7225
  pageByHandle?: Maybe<Page>;
6731
7226
  /** List of the shop's pages. */
6732
7227
  pages: PageConnection;
7228
+ /** Settings related to payments. */
7229
+ paymentSettings: PaymentSettings;
6733
7230
  /** List of the predictive search results. */
6734
7231
  predictiveSearch?: Maybe<PredictiveSearchResult>;
6735
7232
  /** Fetch a specific `Product` by one of its unique attributes. */
@@ -6754,7 +7251,7 @@ export type QueryRoot = {
6754
7251
  productTags: StringConnection;
6755
7252
  /** List of product types for the shop's products that are published to your app. */
6756
7253
  productTypes: StringConnection;
6757
- /** List of the shops products. For storefront search, use [`search` query](https://shopify.dev/docs/api/storefront/latest/queries/search). */
7254
+ /** Returns a list of the shop's products. For storefront search, use the [`search`](https://shopify.dev/docs/api/storefront/latest/queries/search) query. */
6758
7255
  products: ProductConnection;
6759
7256
  /** The list of public Storefront API versions, including supported, release candidate and unstable versions. */
6760
7257
  publicApiVersions: Array<ApiVersion>;
@@ -7149,9 +7646,9 @@ export type SellingPlan = HasMetafields & {
7149
7646
  description?: Maybe<Scalars['String']['output']>;
7150
7647
  /** A globally-unique ID. */
7151
7648
  id: Scalars['ID']['output'];
7152
- /** Returns a metafield found by namespace and key. */
7649
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
7153
7650
  metafield?: Maybe<Metafield>;
7154
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
7651
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
7155
7652
  metafields: Array<Maybe<Metafield>>;
7156
7653
  /** The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'. */
7157
7654
  name: Scalars['String']['output'];
@@ -7385,7 +7882,7 @@ export type SellingPlanOption = {
7385
7882
  export type SellingPlanPercentagePriceAdjustment = {
7386
7883
  __typename?: 'SellingPlanPercentagePriceAdjustment';
7387
7884
  /** The percentage value of the price adjustment. */
7388
- adjustmentPercentage: Scalars['Int']['output'];
7885
+ adjustmentPercentage: Scalars['Float']['output'];
7389
7886
  };
7390
7887
 
7391
7888
  /** Represents by how much the price of a variant associated with a selling plan is adjusted. Each variant can have up to two price adjustments. If a variant has multiple price adjustments, then the first price adjustment applies when the variant is initially purchased. The second price adjustment applies after a certain number of orders (specified by the `orderCount` field) are made. If a selling plan doesn't have any price adjustments, then the unadjusted price of the variant is the effective price. */
@@ -7431,9 +7928,9 @@ export type Shop = HasMetafields &
7431
7928
  description?: Maybe<Scalars['String']['output']>;
7432
7929
  /** A globally-unique ID. */
7433
7930
  id: Scalars['ID']['output'];
7434
- /** Returns a metafield found by namespace and key. */
7931
+ /** A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. */
7435
7932
  metafield?: Maybe<Metafield>;
7436
- /** The metafields associated with the resource matching the supplied list of namespaces and keys. */
7933
+ /** A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. */
7437
7934
  metafields: Array<Maybe<Metafield>>;
7438
7935
  /** A string representing the way currency is formatted when the currency isn’t specified. */
7439
7936
  moneyFormat: Scalars['String']['output'];
@@ -8058,13 +8555,15 @@ export type StoreAvailabilityEdge = {
8058
8555
  };
8059
8556
 
8060
8557
  /**
8061
- * An auto-generated type for paginating through a list of Strings.
8558
+ * An auto-generated type for paginating through multiple Strings.
8062
8559
  *
8063
8560
  */
8064
8561
  export type StringConnection = {
8065
8562
  __typename?: 'StringConnection';
8066
8563
  /** A list of edges. */
8067
8564
  edges: Array<StringEdge>;
8565
+ /** A list of the nodes contained in StringEdge. */
8566
+ nodes: Array<Scalars['String']['output']>;
8068
8567
  /** Information to aid in pagination. */
8069
8568
  pageInfo: PageInfo;
8070
8569
  };
@@ -8207,6 +8706,8 @@ export type SubmitSuccess = {
8207
8706
  __typename?: 'SubmitSuccess';
8208
8707
  /** The ID of the cart completion attempt that will be used for polling for the result. */
8209
8708
  attemptId: Scalars['String']['output'];
8709
+ /** The url to which the buyer should be redirected after the cart is successfully submitted. */
8710
+ redirectUrl: Scalars['URL']['output'];
8210
8711
  };
8211
8712
 
8212
8713
  /** Cart submit for checkout completion is throttled. */
@@ -8244,6 +8745,19 @@ export type TaxonomyCategory = Node & {
8244
8745
  name: Scalars['String']['output'];
8245
8746
  };
8246
8747
 
8748
+ /**
8749
+ * A filter used to view a subset of products in a collection matching a specific taxonomy metafield value.
8750
+ *
8751
+ */
8752
+ export type TaxonomyMetafieldFilter = {
8753
+ /** The key of the metafield to filter on. */
8754
+ key: Scalars['String']['input'];
8755
+ /** The namespace of the metafield to filter on. */
8756
+ namespace: Scalars['String']['input'];
8757
+ /** The value of the metafield. */
8758
+ value: Scalars['String']['input'];
8759
+ };
8760
+
8247
8761
  /** Represents a resource that you can track the origin of the search traffic. */
8248
8762
  export type Trackable = {
8249
8763
  /** 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. */