@shopify/hydrogen-react 2025.7.2 → 2026.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/customer-account.schema.json +1 -1
  2. package/dist/browser-dev/AddToCartButton.mjs +3 -1
  3. package/dist/browser-dev/AddToCartButton.mjs.map +1 -1
  4. package/dist/browser-dev/CartLineProvider.mjs.map +1 -1
  5. package/dist/browser-dev/CartProvider.mjs.map +1 -1
  6. package/dist/browser-dev/Image.mjs.map +1 -1
  7. package/dist/browser-dev/ModelViewer.mjs.map +1 -1
  8. package/dist/browser-dev/Money.mjs.map +1 -1
  9. package/dist/browser-dev/Video.mjs.map +1 -1
  10. package/dist/browser-dev/cart-queries.mjs +64 -10
  11. package/dist/browser-dev/cart-queries.mjs.map +1 -1
  12. package/dist/browser-dev/codegen.helpers.mjs.map +1 -1
  13. package/dist/browser-dev/optionValueDecoder.mjs.map +1 -1
  14. package/dist/browser-dev/packages/hydrogen-react/package.json.mjs +1 -1
  15. package/dist/browser-dev/parse-metafield.mjs +2 -0
  16. package/dist/browser-dev/parse-metafield.mjs.map +1 -1
  17. package/dist/browser-dev/storefront-api-constants.mjs +1 -1
  18. package/dist/browser-dev/storefront-api-constants.mjs.map +1 -1
  19. package/dist/browser-dev/storefront-client.mjs +0 -1
  20. package/dist/browser-dev/storefront-client.mjs.map +1 -1
  21. package/dist/browser-dev/useCartAPIStateMachine.mjs.map +1 -1
  22. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  23. package/dist/browser-dev/useMoney.mjs.map +1 -1
  24. package/dist/browser-prod/AddToCartButton.mjs +3 -1
  25. package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
  26. package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
  27. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  28. package/dist/browser-prod/Image.mjs.map +1 -1
  29. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  30. package/dist/browser-prod/Money.mjs.map +1 -1
  31. package/dist/browser-prod/Video.mjs.map +1 -1
  32. package/dist/browser-prod/cart-queries.mjs +64 -10
  33. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  34. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  35. package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
  36. package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +1 -1
  37. package/dist/browser-prod/parse-metafield.mjs +2 -0
  38. package/dist/browser-prod/parse-metafield.mjs.map +1 -1
  39. package/dist/browser-prod/storefront-api-constants.mjs +1 -1
  40. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  41. package/dist/browser-prod/storefront-client.mjs +0 -1
  42. package/dist/browser-prod/storefront-client.mjs.map +1 -1
  43. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  44. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  45. package/dist/browser-prod/useMoney.mjs.map +1 -1
  46. package/dist/node-dev/AddToCartButton.js +3 -1
  47. package/dist/node-dev/AddToCartButton.js.map +1 -1
  48. package/dist/node-dev/AddToCartButton.mjs +3 -1
  49. package/dist/node-dev/AddToCartButton.mjs.map +1 -1
  50. package/dist/node-dev/CartLineProvider.js.map +1 -1
  51. package/dist/node-dev/CartLineProvider.mjs.map +1 -1
  52. package/dist/node-dev/CartProvider.js.map +1 -1
  53. package/dist/node-dev/CartProvider.mjs.map +1 -1
  54. package/dist/node-dev/Image.js.map +1 -1
  55. package/dist/node-dev/Image.mjs.map +1 -1
  56. package/dist/node-dev/ModelViewer.js.map +1 -1
  57. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  58. package/dist/node-dev/Money.js.map +1 -1
  59. package/dist/node-dev/Money.mjs.map +1 -1
  60. package/dist/node-dev/Video.js.map +1 -1
  61. package/dist/node-dev/Video.mjs.map +1 -1
  62. package/dist/node-dev/cart-queries.js +64 -10
  63. package/dist/node-dev/cart-queries.js.map +1 -1
  64. package/dist/node-dev/cart-queries.mjs +64 -10
  65. package/dist/node-dev/cart-queries.mjs.map +1 -1
  66. package/dist/node-dev/codegen.helpers.js.map +1 -1
  67. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  68. package/dist/node-dev/optionValueDecoder.js.map +1 -1
  69. package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
  70. package/dist/node-dev/packages/hydrogen-react/package.json.js +1 -1
  71. package/dist/node-dev/packages/hydrogen-react/package.json.mjs +1 -1
  72. package/dist/node-dev/parse-metafield.js +2 -0
  73. package/dist/node-dev/parse-metafield.js.map +1 -1
  74. package/dist/node-dev/parse-metafield.mjs +2 -0
  75. package/dist/node-dev/parse-metafield.mjs.map +1 -1
  76. package/dist/node-dev/storefront-api-constants.js +1 -1
  77. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  78. package/dist/node-dev/storefront-api-constants.mjs +1 -1
  79. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  80. package/dist/node-dev/storefront-client.js +0 -1
  81. package/dist/node-dev/storefront-client.js.map +1 -1
  82. package/dist/node-dev/storefront-client.mjs +0 -1
  83. package/dist/node-dev/storefront-client.mjs.map +1 -1
  84. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  85. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  86. package/dist/node-dev/useCartActions.js.map +1 -1
  87. package/dist/node-dev/useCartActions.mjs.map +1 -1
  88. package/dist/node-dev/useMoney.js.map +1 -1
  89. package/dist/node-dev/useMoney.mjs.map +1 -1
  90. package/dist/node-prod/AddToCartButton.js +3 -1
  91. package/dist/node-prod/AddToCartButton.js.map +1 -1
  92. package/dist/node-prod/AddToCartButton.mjs +3 -1
  93. package/dist/node-prod/AddToCartButton.mjs.map +1 -1
  94. package/dist/node-prod/CartLineProvider.js.map +1 -1
  95. package/dist/node-prod/CartLineProvider.mjs.map +1 -1
  96. package/dist/node-prod/CartProvider.js.map +1 -1
  97. package/dist/node-prod/CartProvider.mjs.map +1 -1
  98. package/dist/node-prod/Image.js.map +1 -1
  99. package/dist/node-prod/Image.mjs.map +1 -1
  100. package/dist/node-prod/ModelViewer.js.map +1 -1
  101. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  102. package/dist/node-prod/Money.js.map +1 -1
  103. package/dist/node-prod/Money.mjs.map +1 -1
  104. package/dist/node-prod/Video.js.map +1 -1
  105. package/dist/node-prod/Video.mjs.map +1 -1
  106. package/dist/node-prod/cart-queries.js +64 -10
  107. package/dist/node-prod/cart-queries.js.map +1 -1
  108. package/dist/node-prod/cart-queries.mjs +64 -10
  109. package/dist/node-prod/cart-queries.mjs.map +1 -1
  110. package/dist/node-prod/codegen.helpers.js.map +1 -1
  111. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  112. package/dist/node-prod/optionValueDecoder.js.map +1 -1
  113. package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
  114. package/dist/node-prod/packages/hydrogen-react/package.json.js +1 -1
  115. package/dist/node-prod/packages/hydrogen-react/package.json.mjs +1 -1
  116. package/dist/node-prod/parse-metafield.js +2 -0
  117. package/dist/node-prod/parse-metafield.js.map +1 -1
  118. package/dist/node-prod/parse-metafield.mjs +2 -0
  119. package/dist/node-prod/parse-metafield.mjs.map +1 -1
  120. package/dist/node-prod/storefront-api-constants.js +1 -1
  121. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  122. package/dist/node-prod/storefront-api-constants.mjs +1 -1
  123. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  124. package/dist/node-prod/storefront-client.js +0 -1
  125. package/dist/node-prod/storefront-client.js.map +1 -1
  126. package/dist/node-prod/storefront-client.mjs +0 -1
  127. package/dist/node-prod/storefront-client.mjs.map +1 -1
  128. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  129. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  130. package/dist/node-prod/useCartActions.js.map +1 -1
  131. package/dist/node-prod/useCartActions.mjs.map +1 -1
  132. package/dist/node-prod/useMoney.js.map +1 -1
  133. package/dist/node-prod/useMoney.mjs.map +1 -1
  134. package/dist/types/AddToCartButton.d.ts +3 -0
  135. package/dist/types/CartLineProvider.d.ts +1 -1
  136. package/dist/types/CartProvider.d.ts +2 -2
  137. package/dist/types/Image.d.ts +1 -1
  138. package/dist/types/ModelViewer.d.ts +1 -1
  139. package/dist/types/Money.d.ts +5 -5
  140. package/dist/types/Video.d.ts +1 -1
  141. package/dist/types/codegen.helpers.d.ts +2 -2
  142. package/dist/types/customer-account-api-types.d.ts +669 -20
  143. package/dist/types/optionValueDecoder.d.ts +2 -2
  144. package/dist/types/parse-metafield.d.ts +14 -2
  145. package/dist/types/storefront-api-constants.d.ts +1 -1
  146. package/dist/types/storefront-api-types.d.ts +165 -7
  147. package/dist/types/useCartAPIStateMachine.d.ts +2 -2
  148. package/dist/types/useCartActions.d.ts +2 -2
  149. package/dist/types/useMoney.d.ts +4 -4
  150. package/dist/umd/hydrogen-react.dev.js +71 -14
  151. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  152. package/dist/umd/hydrogen-react.prod.js +78 -24
  153. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  154. package/package.json +1 -1
  155. package/storefront.schema.json +1 -1
@@ -14,7 +14,7 @@ export type IsOptionValueCombinationInEncodedVariant = (targetOptionValueCombina
14
14
  * Determine whether an option value combination is present in an encoded option value string. Function is memoized by encodedVariantField.
15
15
  *
16
16
  * @param targetOptionValueCombination - Indices of option values to look up in the encoded option value string. A partial set of indices may be passed to determine whether a node or any children is present. For example, if a product has 3 options, passing [0] will return true if any option value combination for the first option's option value is present in the encoded string.
17
- * @param encodedVariantField - Encoded option value string from the Storefront API, e.g. [product.encodedVariantExistence](/docs/api/storefront/2025-07/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2025-07/objects/Product#field-encodedvariantavailability)
17
+ * @param encodedVariantField - Encoded option value string from the Storefront API, e.g. [product.encodedVariantExistence](/docs/api/storefront/2026-01/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2026-01/objects/Product#field-encodedvariantavailability)
18
18
  * @returns - True if a full or partial targetOptionValueIndices is present in the encoded option value string, false otherwise.
19
19
  */
20
20
  export declare const isOptionValueCombinationInEncodedVariant: IsOptionValueCombinationInEncodedVariant;
@@ -22,7 +22,7 @@ type EncodedVariantField = Product['encodedVariantAvailability'] | Product['enco
22
22
  type DecodedOptionValues = number[][];
23
23
  /**
24
24
  * For an encoded option value string, decode into option value combinations. Entries represent a valid combination formatted as an array of option value positions.
25
- * @param encodedVariantField - Encoded option value string from the Storefront API, e.g. [product.encodedVariantExistence](/docs/api/storefront/2025-07/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2025-07/objects/Product#field-encodedvariantavailability)
25
+ * @param encodedVariantField - Encoded option value string from the Storefront API, e.g. [product.encodedVariantExistence](/docs/api/storefront/2026-01/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2026-01/objects/Product#field-encodedvariantavailability)
26
26
  * @returns Decoded option value combinations
27
27
  */
28
28
  export declare function decodeEncodedVariant(encodedVariantField: EncodedVariantField): DecodedOptionValues;
@@ -1,4 +1,4 @@
1
- import type { Collection, GenericFile, Metafield as MetafieldBaseType, MoneyV2, Page, Product, ProductVariant } from './storefront-api-types.js';
1
+ import type { Article, Collection, GenericFile, Metafield as MetafieldBaseType, MoneyV2, Page, Product, ProductVariant } from './storefront-api-types.js';
2
2
  import type { PartialDeep, Simplify } from 'type-fest';
3
3
  import { RootASTNode as RichTextRootASTNode } from './RichText.types.js';
4
4
  /**
@@ -17,7 +17,7 @@ export declare function parseMetafield<ReturnGeneric>(metafield: PartialDeep<Met
17
17
  * Parses a JSON string while preventing prototype injection attacks.
18
18
  */
19
19
  export declare function parseJSON(json: string): unknown;
20
- export declare const allMetafieldTypesArray: readonly ["boolean", "collection_reference", "color", "date", "date_time", "dimension", "file_reference", "json", "money", "rich_text_field", "multi_line_text_field", "number_decimal", "number_integer", "page_reference", "product_reference", "rating", "single_line_text_field", "url", "variant_reference", "volume", "weight", "list.collection_reference", "list.color", "list.date", "list.date_time", "list.dimension", "list.file_reference", "list.number_integer", "list.number_decimal", "list.page_reference", "list.product_reference", "list.rating", "list.single_line_text_field", "list.url", "list.variant_reference", "list.volume", "list.weight"];
20
+ export declare const allMetafieldTypesArray: readonly ["article_reference", "boolean", "collection_reference", "color", "date", "date_time", "dimension", "file_reference", "json", "money", "rich_text_field", "multi_line_text_field", "number_decimal", "number_integer", "page_reference", "product_reference", "rating", "single_line_text_field", "url", "variant_reference", "volume", "weight", "list.article_reference", "list.collection_reference", "list.color", "list.date", "list.date_time", "list.dimension", "list.file_reference", "list.number_integer", "list.number_decimal", "list.page_reference", "list.product_reference", "list.rating", "list.single_line_text_field", "list.url", "list.variant_reference", "list.volume", "list.weight"];
21
21
  /** A union of all the supported `metafield.type`s */
22
22
  export type MetafieldTypeTypes = (typeof allMetafieldTypesArray)[number];
23
23
  /**
@@ -30,6 +30,8 @@ export type MetafieldTypeTypes = (typeof allMetafieldTypesArray)[number];
30
30
  * `parsedMetafield.parsedValue`'s type is now `boolean`
31
31
  */
32
32
  export type ParsedMetafields<ExtraTypeGeneric = void> = {
33
+ /** A Metafield that's been parsed, with a `parsedValue` of an `Article` object (as defined by the Storefront API) */
34
+ article_reference: Simplify<ArticleParsedRefMetafield>;
33
35
  /** A Metafield that's been parsed, with a `parsedValue` of `boolean` */
34
36
  boolean: Simplify<BooleanParsedMetafield>;
35
37
  /** A Metafield that's been parsed, with a `parsedValue` of a `Collection` object (as defined by the Storefront API) */
@@ -78,6 +80,8 @@ export type ParsedMetafields<ExtraTypeGeneric = void> = {
78
80
  volume: Simplify<MeasurementParsedMetafield>;
79
81
  /** A Metafield that's been parsed, with a `parsedValue` of type `Measurement` */
80
82
  weight: Simplify<MeasurementParsedMetafield>;
83
+ /** A Metafield that's been parsed, with a `parsedValue` of an array of `Article` objects (as defined by the Storefront API) */
84
+ 'list.article_reference': Simplify<ArticleListParsedRefMetafield>;
81
85
  /** A Metafield that's been parsed, with a `parsedValue` of an array of `Collection` objects (as defined by the Storefront API) */
82
86
  'list.collection_reference': Simplify<CollectionListParsedRefMetafield>;
83
87
  /** A Metafield that's been parsed, with a `parsedValue` of an array of strings */
@@ -155,6 +159,10 @@ type NumberParsedMetafield = MetafieldBaseType & {
155
159
  type: 'number_decimal' | 'number_integer';
156
160
  parsedValue: number | null;
157
161
  };
162
+ type ArticleParsedRefMetafield = MetafieldBaseType & {
163
+ type: 'article_reference';
164
+ parsedValue: Article | null;
165
+ };
158
166
  type PageParsedRefMetafield = MetafieldBaseType & {
159
167
  type: 'page_reference';
160
168
  parsedValue: Page | null;
@@ -175,6 +183,10 @@ type VariantParsedRefMetafield = MetafieldBaseType & {
175
183
  type: 'variant_reference';
176
184
  parsedValue: ProductVariant | null;
177
185
  };
186
+ type ArticleListParsedRefMetafield = MetafieldBaseType & {
187
+ type: 'list.article_reference';
188
+ parsedValue: Array<Article> | null;
189
+ };
178
190
  type CollectionListParsedRefMetafield = MetafieldBaseType & {
179
191
  type: 'list.collection_reference';
180
192
  parsedValue: Array<Collection> | null;
@@ -1 +1 @@
1
- export declare const SFAPI_VERSION = "2025-07";
1
+ export declare const SFAPI_VERSION = "2026-01";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * THIS FILE IS AUTO-GENERATED, DO NOT EDIT
3
- * Based on Storefront API 2025-07
3
+ * Based on Storefront API 2026-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
  */
@@ -780,6 +780,17 @@ export type CartCardSource =
780
780
  */
781
781
  'SAVED_CREDIT_CARD';
782
782
 
783
+ /** Return type for `cartClone` mutation. */
784
+ export type CartClonePayload = {
785
+ __typename?: 'CartClonePayload';
786
+ /** The newly created cart without PII. This is a different cart from the source. */
787
+ cart?: Maybe<Cart>;
788
+ /** The list of errors that occurred from executing the mutation. */
789
+ userErrors: Array<CartUserError>;
790
+ /** A list of warnings that occurred during the mutation. */
791
+ warnings: Array<CartWarning>;
792
+ };
793
+
783
794
  /** The discount that has been applied to the cart line using a discount code. */
784
795
  export type CartCodeDiscountAllocation = CartDiscountAllocation & {
785
796
  __typename?: 'CartCodeDiscountAllocation';
@@ -1059,6 +1070,17 @@ export type CartDeliveryAddressesRemovePayload = {
1059
1070
  warnings: Array<CartWarning>;
1060
1071
  };
1061
1072
 
1073
+ /** Return type for `cartDeliveryAddressesReplace` mutation. */
1074
+ export type CartDeliveryAddressesReplacePayload = {
1075
+ __typename?: 'CartDeliveryAddressesReplacePayload';
1076
+ /** The updated cart. */
1077
+ cart?: Maybe<Cart>;
1078
+ /** The list of errors that occurred from executing the mutation. */
1079
+ userErrors: Array<CartUserError>;
1080
+ /** A list of warnings that occurred during the mutation. */
1081
+ warnings: Array<CartWarning>;
1082
+ };
1083
+
1062
1084
  /** Return type for `cartDeliveryAddressesUpdate` mutation. */
1063
1085
  export type CartDeliveryAddressesUpdatePayload = {
1064
1086
  __typename?: 'CartDeliveryAddressesUpdatePayload';
@@ -1307,10 +1329,14 @@ export type CartErrorCode =
1307
1329
  | 'ADDRESS_FIELD_IS_REQUIRED'
1308
1330
  /** The specified address field is too long. */
1309
1331
  | 'ADDRESS_FIELD_IS_TOO_LONG'
1332
+ /** Bundles and addons cannot be mixed. */
1333
+ | 'BUNDLES_AND_ADDONS_CANNOT_BE_MIXED'
1310
1334
  /** Buyer cannot purchase for company location. */
1311
1335
  | 'BUYER_CANNOT_PURCHASE_FOR_COMPANY_LOCATION'
1312
1336
  /** The cart is too large to save. */
1313
1337
  | 'CART_TOO_LARGE'
1338
+ /** The specified gift card recipient is invalid. */
1339
+ | 'GIFT_CARD_RECIPIENT_INVALID'
1314
1340
  /** The input value is invalid. */
1315
1341
  | 'INVALID'
1316
1342
  /** Company location not found or not allowed. */
@@ -1341,6 +1367,8 @@ export type CartErrorCode =
1341
1367
  | 'LESS_THAN'
1342
1368
  /** The quantity must be below the specified maximum for the item. */
1343
1369
  | 'MAXIMUM_EXCEEDED'
1370
+ /** Item cannot be purchased as configured. */
1371
+ | 'MERCHANDISE_NOT_APPLICABLE'
1344
1372
  /** The quantity must be above the specified minimum for the item. */
1345
1373
  | 'MINIMUM_NOT_MET'
1346
1374
  /** The customer access token is required when setting a company location. */
@@ -1353,6 +1381,14 @@ export type CartErrorCode =
1353
1381
  | 'NOTE_TOO_LONG'
1354
1382
  /** Only one delivery address can be selected. */
1355
1383
  | 'ONLY_ONE_DELIVERY_ADDRESS_CAN_BE_SELECTED'
1384
+ /** Cannot reference existing parent lines by variant_id. */
1385
+ | 'PARENT_LINE_INVALID_REFERENCE'
1386
+ /** Parent line nesting is too deep or circular. */
1387
+ | 'PARENT_LINE_NESTING_TOO_DEEP'
1388
+ /** Parent line not found. */
1389
+ | 'PARENT_LINE_NOT_FOUND'
1390
+ /** Nested cartlines are blocked due to an incompatibility. */
1391
+ | 'PARENT_LINE_OPERATION_BLOCKED'
1356
1392
  /** Credit card has expired. */
1357
1393
  | 'PAYMENTS_CREDIT_CARD_BASE_EXPIRED'
1358
1394
  /** Credit card gateway is not supported. */
@@ -1420,6 +1456,17 @@ export type CartFreePaymentMethodInput = {
1420
1456
  billingAddress: MailingAddressInput;
1421
1457
  };
1422
1458
 
1459
+ /** Return type for `cartGiftCardCodesAdd` mutation. */
1460
+ export type CartGiftCardCodesAddPayload = {
1461
+ __typename?: 'CartGiftCardCodesAddPayload';
1462
+ /** The updated cart. */
1463
+ cart?: Maybe<Cart>;
1464
+ /** The list of errors that occurred from executing the mutation. */
1465
+ userErrors: Array<CartUserError>;
1466
+ /** A list of warnings that occurred during the mutation. */
1467
+ warnings: Array<CartWarning>;
1468
+ };
1469
+
1423
1470
  /** Return type for `cartGiftCardCodesRemove` mutation. */
1424
1471
  export type CartGiftCardCodesRemovePayload = {
1425
1472
  __typename?: 'CartGiftCardCodesRemovePayload';
@@ -1490,7 +1537,12 @@ export type CartInput = {
1490
1537
  note?: InputMaybe<Scalars['String']['input']>;
1491
1538
  };
1492
1539
 
1493
- /** The input fields for a cart metafield value to set. */
1540
+ /**
1541
+ * The input fields for a cart metafield value to set.
1542
+ *
1543
+ * Cart metafields will be copied to order metafields at order creation time if there is a matching order metafield definition with the [`cart to order copyable`](https://shopify.dev/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.
1544
+ *
1545
+ */
1494
1546
  export type CartInputMetafieldInput = {
1495
1547
  /** The key name of the metafield. */
1496
1548
  key: Scalars['String']['input'];
@@ -1530,8 +1582,12 @@ export type CartLine = BaseCartLine &
1530
1582
  estimatedCost: CartLineEstimatedCost;
1531
1583
  /** A globally-unique ID. */
1532
1584
  id: Scalars['ID']['output'];
1585
+ /** The instructions for the line item. */
1586
+ instructions: CartLineInstructions;
1533
1587
  /** The merchandise that the buyer intends to purchase. */
1534
1588
  merchandise: Merchandise;
1589
+ /** The parent of the line item. */
1590
+ parentRelationship?: Maybe<CartLineParentRelationship>;
1535
1591
  /** The quantity of the merchandise that the customer intends to purchase. */
1536
1592
  quantity: Scalars['Int']['output'];
1537
1593
  /** The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased. */
@@ -1582,12 +1638,38 @@ export type CartLineInput = {
1582
1638
  attributes?: InputMaybe<Array<AttributeInput>>;
1583
1639
  /** The ID of the merchandise that the buyer intends to purchase. */
1584
1640
  merchandiseId: Scalars['ID']['input'];
1641
+ /** The parent line item of the cart line. */
1642
+ parent?: InputMaybe<CartLineParentInput>;
1585
1643
  /** The quantity of the merchandise. */
1586
1644
  quantity?: InputMaybe<Scalars['Int']['input']>;
1587
1645
  /** The ID of the selling plan that the merchandise is being purchased with. */
1588
1646
  sellingPlanId?: InputMaybe<Scalars['ID']['input']>;
1589
1647
  };
1590
1648
 
1649
+ /** Represents instructions for a cart line item. */
1650
+ export type CartLineInstructions = {
1651
+ __typename?: 'CartLineInstructions';
1652
+ /** Whether the line item can be removed from the cart. */
1653
+ canRemove: Scalars['Boolean']['output'];
1654
+ /** Whether the line item quantity can be updated. */
1655
+ canUpdateQuantity: Scalars['Boolean']['output'];
1656
+ };
1657
+
1658
+ /** The parent line item of the cart line. */
1659
+ export type CartLineParentInput = {
1660
+ /** The id of the parent line item. */
1661
+ lineId?: InputMaybe<Scalars['ID']['input']>;
1662
+ /** The ID of the parent line merchandise. */
1663
+ merchandiseId?: InputMaybe<Scalars['ID']['input']>;
1664
+ };
1665
+
1666
+ /** Represents the parent relationship of a cart line. */
1667
+ export type CartLineParentRelationship = {
1668
+ __typename?: 'CartLineParentRelationship';
1669
+ /** The parent cart line. */
1670
+ parent: CartLine;
1671
+ };
1672
+
1591
1673
  /** The input fields to update a line item on a cart. */
1592
1674
  export type CartLineUpdateInput = {
1593
1675
  /**
@@ -1980,6 +2062,8 @@ export type CartWarningCode =
1980
2062
  | 'MERCHANDISE_NOT_ENOUGH_STOCK'
1981
2063
  /** The merchandise is out of stock. */
1982
2064
  | 'MERCHANDISE_OUT_OF_STOCK'
2065
+ /** Only one-time purchase is available for B2B orders. */
2066
+ | 'MERCHANDISE_SELLING_PLAN_NOT_APPLICABLE_ON_COMPANY_LOCATION'
1983
2067
  /** Gift cards are not available as a payment method. */
1984
2068
  | 'PAYMENTS_GIFT_CARDS_UNAVAILABLE';
1985
2069
 
@@ -3220,6 +3304,8 @@ export type Customer = HasMetafields & {
3220
3304
  acceptsMarketing: Scalars['Boolean']['output'];
3221
3305
  /** A list of addresses for the customer. */
3222
3306
  addresses: MailingAddressConnection;
3307
+ /** The URL of the customer's avatar image. */
3308
+ avatarUrl?: Maybe<Scalars['String']['output']>;
3223
3309
  /** The date and time when the customer was created. */
3224
3310
  createdAt: Scalars['DateTime']['output'];
3225
3311
  /** The customer’s default address. */
@@ -3244,6 +3330,8 @@ export type Customer = HasMetafields & {
3244
3330
  orders: OrderConnection;
3245
3331
  /** The customer’s phone number. */
3246
3332
  phone?: Maybe<Scalars['String']['output']>;
3333
+ /** The social login provider associated with the customer. */
3334
+ socialLoginProvider?: Maybe<SocialLoginProvider>;
3247
3335
  /**
3248
3336
  * A comma separated list of tags that have been added to the customer.
3249
3337
  * Additional access scope required: unauthenticated_read_customer_tags.
@@ -4884,7 +4972,10 @@ export type MediaPresentation = Node & {
4884
4972
  __typename?: 'MediaPresentation';
4885
4973
  /** A JSON object representing a presentation view. */
4886
4974
  asJson?: Maybe<Scalars['JSON']['output']>;
4887
- /** A globally-unique ID. */
4975
+ /**
4976
+ * A globally-unique ID.
4977
+ * @deprecated MediaPresentation IDs are being deprecated. Access the data directly via the asJson field on the Media type.
4978
+ */
4888
4979
  id: Scalars['ID']['output'];
4889
4980
  };
4890
4981
 
@@ -5094,6 +5185,7 @@ export type MetafieldParentResource =
5094
5185
  *
5095
5186
  */
5096
5187
  export type MetafieldReference =
5188
+ | Article
5097
5189
  | Collection
5098
5190
  | GenericFile
5099
5191
  | MediaImage
@@ -5190,7 +5282,7 @@ export type Metaobject = Node &
5190
5282
  *
5191
5283
  */
5192
5284
  seo?: Maybe<MetaobjectSeo>;
5193
- /** The type of the metaobject. Defines the namespace of its associated metafields. */
5285
+ /** The type of the metaobject. */
5194
5286
  type: Scalars['String']['output'];
5195
5287
  /** The date and time when the metaobject was last updated. */
5196
5288
  updatedAt: Scalars['DateTime']['output'];
@@ -5337,16 +5429,22 @@ export type Mutation = {
5337
5429
  *
5338
5430
  */
5339
5431
  cartBuyerIdentityUpdate?: Maybe<CartBuyerIdentityUpdatePayload>;
5432
+ /** Creates a clone of the specified cart with all personally identifiable information removed. */
5433
+ cartClone?: Maybe<CartClonePayload>;
5340
5434
  /** Creates a new cart. */
5341
5435
  cartCreate?: Maybe<CartCreatePayload>;
5342
5436
  /** Adds delivery addresses to the cart. */
5343
5437
  cartDeliveryAddressesAdd?: Maybe<CartDeliveryAddressesAddPayload>;
5344
5438
  /** Removes delivery addresses from the cart. */
5345
5439
  cartDeliveryAddressesRemove?: Maybe<CartDeliveryAddressesRemovePayload>;
5440
+ /** Replaces delivery addresses on the cart. */
5441
+ cartDeliveryAddressesReplace?: Maybe<CartDeliveryAddressesReplacePayload>;
5346
5442
  /** Updates one or more delivery addresses on a cart. */
5347
5443
  cartDeliveryAddressesUpdate?: Maybe<CartDeliveryAddressesUpdatePayload>;
5348
5444
  /** Updates the discount codes applied to the cart. */
5349
5445
  cartDiscountCodesUpdate?: Maybe<CartDiscountCodesUpdatePayload>;
5446
+ /** Adds gift card codes to the cart without replacing existing ones. */
5447
+ cartGiftCardCodesAdd?: Maybe<CartGiftCardCodesAddPayload>;
5350
5448
  /** Removes the gift card codes applied to the cart. */
5351
5449
  cartGiftCardCodesRemove?: Maybe<CartGiftCardCodesRemovePayload>;
5352
5450
  /** Updates the gift card codes applied to the cart. */
@@ -5357,13 +5455,24 @@ export type Mutation = {
5357
5455
  cartLinesRemove?: Maybe<CartLinesRemovePayload>;
5358
5456
  /** Updates one or more merchandise lines on a cart. */
5359
5457
  cartLinesUpdate?: Maybe<CartLinesUpdatePayload>;
5360
- /** Deletes a cart metafield. */
5458
+ /**
5459
+ * Deletes a cart metafield.
5460
+ *
5461
+ * > Note:
5462
+ * > This mutation won't trigger [Shopify Functions](https://shopify.dev/docs/api/functions). The changes won't be available to Shopify Functions until the buyer goes to checkout or performs another cart interaction that triggers the functions.
5463
+ *
5464
+ */
5361
5465
  cartMetafieldDelete?: Maybe<CartMetafieldDeletePayload>;
5362
5466
  /**
5363
5467
  * Sets cart metafield values. Cart metafield values will be set regardless if they were previously created or not.
5364
5468
  *
5365
5469
  * Allows a maximum of 25 cart metafields to be set at a time.
5366
5470
  *
5471
+ * Cart metafields will be copied to order metafields at order creation time if there is a matching order metafield definition with the [`cart to order copyable`](https://shopify.dev/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.
5472
+ *
5473
+ * > Note:
5474
+ * > This mutation won't trigger [Shopify Functions](https://shopify.dev/docs/api/functions). The changes won't be available to Shopify Functions until the buyer goes to checkout or performs another cart interaction that triggers the functions.
5475
+ *
5367
5476
  */
5368
5477
  cartMetafieldsSet?: Maybe<CartMetafieldsSetPayload>;
5369
5478
  /** Updates the note on the cart. */
@@ -5468,6 +5577,11 @@ export type MutationCartBuyerIdentityUpdateArgs = {
5468
5577
  cartId: Scalars['ID']['input'];
5469
5578
  };
5470
5579
 
5580
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5581
+ export type MutationCartCloneArgs = {
5582
+ cartId: Scalars['ID']['input'];
5583
+ };
5584
+
5471
5585
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5472
5586
  export type MutationCartCreateArgs = {
5473
5587
  input?: InputMaybe<CartInput>;
@@ -5485,6 +5599,12 @@ export type MutationCartDeliveryAddressesRemoveArgs = {
5485
5599
  cartId: Scalars['ID']['input'];
5486
5600
  };
5487
5601
 
5602
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5603
+ export type MutationCartDeliveryAddressesReplaceArgs = {
5604
+ addresses: Array<CartSelectableAddressInput>;
5605
+ cartId: Scalars['ID']['input'];
5606
+ };
5607
+
5488
5608
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5489
5609
  export type MutationCartDeliveryAddressesUpdateArgs = {
5490
5610
  addresses: Array<CartSelectableAddressUpdateInput>;
@@ -5494,7 +5614,13 @@ export type MutationCartDeliveryAddressesUpdateArgs = {
5494
5614
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5495
5615
  export type MutationCartDiscountCodesUpdateArgs = {
5496
5616
  cartId: Scalars['ID']['input'];
5497
- discountCodes?: InputMaybe<Array<Scalars['String']['input']>>;
5617
+ discountCodes: Array<Scalars['String']['input']>;
5618
+ };
5619
+
5620
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5621
+ export type MutationCartGiftCardCodesAddArgs = {
5622
+ cartId: Scalars['ID']['input'];
5623
+ giftCardCodes: Array<Scalars['String']['input']>;
5498
5624
  };
5499
5625
 
5500
5626
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
@@ -8025,6 +8151,8 @@ export type Shop = HasMetafields &
8025
8151
  __typename?: 'Shop';
8026
8152
  /** The shop's branding configuration. */
8027
8153
  brand?: Maybe<Brand>;
8154
+ /** Translations for customer accounts. */
8155
+ customerAccountTranslations?: Maybe<Array<Translation>>;
8028
8156
  /** The URL for the customer account (only present if shop has a customer account vanity domain). */
8029
8157
  customerAccountUrl?: Maybe<Scalars['String']['output']>;
8030
8158
  /** A description of the shop. */
@@ -8053,6 +8181,8 @@ export type Shop = HasMetafields &
8053
8181
  shipsToCountries: Array<CountryCode>;
8054
8182
  /** The Shop Pay Installments pricing information for the shop. */
8055
8183
  shopPayInstallmentsPricing?: Maybe<ShopPayInstallmentsPricing>;
8184
+ /** The social login providers for customer accounts. */
8185
+ socialLoginProviders: Array<SocialLoginProvider>;
8056
8186
  /** The shop’s subscription policy. */
8057
8187
  subscriptionPolicy?: Maybe<ShopPolicyWithDefault>;
8058
8188
  /** The shop’s terms of service. */
@@ -8588,7 +8718,7 @@ export type SitemapResourceMetaobject = SitemapResourceInterface & {
8588
8718
  handle: Scalars['String']['output'];
8589
8719
  /** The URL handle for accessing pages of this metaobject type in the Online Store. */
8590
8720
  onlineStoreUrlHandle?: Maybe<Scalars['String']['output']>;
8591
- /** The type of the metaobject. Defines the namespace of its associated metafields. */
8721
+ /** The type of the metaobject. */
8592
8722
  type: Scalars['String']['output'];
8593
8723
  /** The date and time when the resource was updated. */
8594
8724
  updatedAt: Scalars['DateTime']['output'];
@@ -8614,6 +8744,13 @@ export type SitemapType =
8614
8744
  /** Products present in the sitemap. */
8615
8745
  | 'PRODUCT';
8616
8746
 
8747
+ /** A social login provider for customer accounts. */
8748
+ export type SocialLoginProvider = {
8749
+ __typename?: 'SocialLoginProvider';
8750
+ /** The handle of the social login provider. */
8751
+ handle: Scalars['String']['output'];
8752
+ };
8753
+
8617
8754
  /**
8618
8755
  * The availability of a product variant at a particular location.
8619
8756
  * Local pick-up must be enabled in the store's shipping settings, otherwise this will return an empty result.
@@ -8871,6 +9008,15 @@ export type Trackable = {
8871
9008
  trackingParameters?: Maybe<Scalars['String']['output']>;
8872
9009
  };
8873
9010
 
9011
+ /** Translation represents a translation of a key-value pair. */
9012
+ export type Translation = {
9013
+ __typename?: 'Translation';
9014
+ /** The key of the translation. */
9015
+ key: Scalars['String']['output'];
9016
+ /** The value of the translation. */
9017
+ value: Scalars['String']['output'];
9018
+ };
9019
+
8874
9020
  /**
8875
9021
  * The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml).
8876
9022
  *
@@ -9068,6 +9214,18 @@ export type VideoSource = {
9068
9214
  width: Scalars['Int']['output'];
9069
9215
  };
9070
9216
 
9217
+ /** The visitor's consent to data processing purposes for the shop. true means accepting the purposes, false means declining them, and null means that the visitor didn't express a preference. */
9218
+ export type VisitorConsent = {
9219
+ /** The visitor accepts or rejects the analytics data processing purpose. */
9220
+ analytics?: InputMaybe<Scalars['Boolean']['input']>;
9221
+ /** The visitor accepts or rejects the first and third party marketing data processing purposes. */
9222
+ marketing?: InputMaybe<Scalars['Boolean']['input']>;
9223
+ /** The visitor accepts or rejects the preferences data processing purpose. */
9224
+ preferences?: InputMaybe<Scalars['Boolean']['input']>;
9225
+ /** The visitor accepts or rejects the sale or sharing of their data with third parties. */
9226
+ saleOfData?: InputMaybe<Scalars['Boolean']['input']>;
9227
+ };
9228
+
9071
9229
  /** Units of measurement for weight. */
9072
9230
  export type WeightUnit =
9073
9231
  /** Metric system unit of mass. */
@@ -11,11 +11,11 @@ export declare function useCartAPIStateMachine({ numCartLines, onCartActionEntry
11
11
  onCartActionOptimisticUI?: (context: CartMachineContext, event: CartMachineEvent) => Partial<CartMachineContext>;
12
12
  /** A callback that is invoked after a Cart API completes. */
13
13
  onCartActionComplete?: (context: CartMachineContext, event: CartMachineFetchResultEvent) => void;
14
- /** An object with fields that correspond to the Storefront API's [Cart object](https://shopify.dev/api/storefront/2025-07/objects/cart). */
14
+ /** An object with fields that correspond to the Storefront API's [Cart object](https://shopify.dev/api/storefront/2026-01/objects/cart). */
15
15
  data?: PartialDeep<CartType, {
16
16
  recurseIntoArrays: true;
17
17
  }>;
18
- /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2025-07/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */
18
+ /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2026-01/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */
19
19
  cartFragment: string;
20
20
  /** The ISO country code for i18n. */
21
21
  countryCode?: CountryCode;
@@ -6,12 +6,12 @@ type CartResponse = PartialDeep<CartType, {
6
6
  /**
7
7
  * The `useCartActions` hook returns helper graphql functions for Storefront Cart API
8
8
  *
9
- * See [cart API graphql mutations](https://shopify.dev/api/storefront/2025-07/objects/Cart)
9
+ * See [cart API graphql mutations](https://shopify.dev/api/storefront/2026-01/objects/Cart)
10
10
  */
11
11
  export declare function useCartActions({ numCartLines, cartFragment, countryCode, languageCode, }: {
12
12
  /** Maximum number of cart lines to fetch. Defaults to 250 cart lines. */
13
13
  numCartLines?: number;
14
- /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2025-07/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */
14
+ /** A fragment used to query the Storefront API's [Cart object](https://shopify.dev/api/storefront/2026-01/objects/cart) for all queries and mutations. A default value is used if no argument is provided. */
15
15
  cartFragment: string;
16
16
  /** The ISO country code for i18n. Default to `US` */
17
17
  countryCode?: CountryCode;
@@ -2,12 +2,12 @@ import { CurrencyCode as StorefrontApiCurrencyCode, MoneyV2 as StorefrontApiMone
2
2
  import type { MoneyV2 as CustomerAccountApiMoneyV2, CurrencyCode as CustomerAccountApiCurrencyCode } from './customer-account-api-types.js';
3
3
  /**
4
4
  * Supports MoneyV2 from both Storefront API and Customer Account API.
5
- * The APIs may have different CurrencyCode enums (e.g., Customer Account API added USDC in 2025-07, but Storefront API doesn't support USDC in 2025-07).
5
+ * The APIs may have different CurrencyCode enums (e.g., Customer Account API added USDC in 2025-10, but Storefront API doesn't support USDC in 2025-10).
6
6
  * This union type ensures useMoney works with data from either API.
7
7
  */
8
8
  type MoneyV2 = StorefrontApiMoneyV2 | CustomerAccountApiMoneyV2;
9
9
  /**
10
- * Supports CurrencyCode from both Storefront API and Customer Account API. The APIs may have different CurrencyCode enums (e.g., Customer Account API added USDC in 2025-07, but Storefront API doesn't support USDC in 2025-07).
10
+ * Supports CurrencyCode from both Storefront API and Customer Account API. The APIs may have different CurrencyCode enums (e.g., Customer Account API added USDC in 2025-10, but Storefront API doesn't support USDC in 2025-10).
11
11
  * This union type ensures useMoney works with data from either API.
12
12
  */
13
13
  type CurrencyCode = StorefrontApiCurrencyCode | CustomerAccountApiCurrencyCode;
@@ -59,8 +59,8 @@ export type UseMoneyValue = {
59
59
  withoutTrailingZerosAndCurrency: string;
60
60
  };
61
61
  /**
62
- * The `useMoney` hook takes a [MoneyV2 object from the Storefront API](https://shopify.dev/docs/api/storefront/2025-07/objects/MoneyV2)
63
- * or a [MoneyV2 object from the Customer Account API](https://shopify.dev/docs/api/customer/2025-07/objects/moneyv2) and returns a
62
+ * The `useMoney` hook takes a [MoneyV2 object from the Storefront API](https://shopify.dev/docs/api/storefront/2026-01/objects/MoneyV2)
63
+ * or a [MoneyV2 object from the Customer Account API](https://shopify.dev/docs/api/customer/2026-01/objects/moneyv2) and returns a
64
64
  * default-formatted string of the amount with the correct currency indicator, along with some of the parts provided by
65
65
  * [Intl.NumberFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat).
66
66
  * Uses `locale` from `ShopifyProvider`