@shopify/hydrogen-react 2025.7.2 → 2025.10.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 (143) 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 +63 -9
  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/useCartAPIStateMachine.mjs.map +1 -1
  20. package/dist/browser-dev/useCartActions.mjs.map +1 -1
  21. package/dist/browser-dev/useMoney.mjs.map +1 -1
  22. package/dist/browser-prod/AddToCartButton.mjs +3 -1
  23. package/dist/browser-prod/AddToCartButton.mjs.map +1 -1
  24. package/dist/browser-prod/CartLineProvider.mjs.map +1 -1
  25. package/dist/browser-prod/CartProvider.mjs.map +1 -1
  26. package/dist/browser-prod/Image.mjs.map +1 -1
  27. package/dist/browser-prod/ModelViewer.mjs.map +1 -1
  28. package/dist/browser-prod/Money.mjs.map +1 -1
  29. package/dist/browser-prod/Video.mjs.map +1 -1
  30. package/dist/browser-prod/cart-queries.mjs +63 -9
  31. package/dist/browser-prod/cart-queries.mjs.map +1 -1
  32. package/dist/browser-prod/codegen.helpers.mjs.map +1 -1
  33. package/dist/browser-prod/optionValueDecoder.mjs.map +1 -1
  34. package/dist/browser-prod/packages/hydrogen-react/package.json.mjs +1 -1
  35. package/dist/browser-prod/parse-metafield.mjs +2 -0
  36. package/dist/browser-prod/parse-metafield.mjs.map +1 -1
  37. package/dist/browser-prod/storefront-api-constants.mjs +1 -1
  38. package/dist/browser-prod/storefront-api-constants.mjs.map +1 -1
  39. package/dist/browser-prod/useCartAPIStateMachine.mjs.map +1 -1
  40. package/dist/browser-prod/useCartActions.mjs.map +1 -1
  41. package/dist/browser-prod/useMoney.mjs.map +1 -1
  42. package/dist/node-dev/AddToCartButton.js +3 -1
  43. package/dist/node-dev/AddToCartButton.js.map +1 -1
  44. package/dist/node-dev/AddToCartButton.mjs +3 -1
  45. package/dist/node-dev/AddToCartButton.mjs.map +1 -1
  46. package/dist/node-dev/CartLineProvider.js.map +1 -1
  47. package/dist/node-dev/CartLineProvider.mjs.map +1 -1
  48. package/dist/node-dev/CartProvider.js.map +1 -1
  49. package/dist/node-dev/CartProvider.mjs.map +1 -1
  50. package/dist/node-dev/Image.js.map +1 -1
  51. package/dist/node-dev/Image.mjs.map +1 -1
  52. package/dist/node-dev/ModelViewer.js.map +1 -1
  53. package/dist/node-dev/ModelViewer.mjs.map +1 -1
  54. package/dist/node-dev/Money.js.map +1 -1
  55. package/dist/node-dev/Money.mjs.map +1 -1
  56. package/dist/node-dev/Video.js.map +1 -1
  57. package/dist/node-dev/Video.mjs.map +1 -1
  58. package/dist/node-dev/cart-queries.js +63 -9
  59. package/dist/node-dev/cart-queries.js.map +1 -1
  60. package/dist/node-dev/cart-queries.mjs +63 -9
  61. package/dist/node-dev/cart-queries.mjs.map +1 -1
  62. package/dist/node-dev/codegen.helpers.js.map +1 -1
  63. package/dist/node-dev/codegen.helpers.mjs.map +1 -1
  64. package/dist/node-dev/optionValueDecoder.js.map +1 -1
  65. package/dist/node-dev/optionValueDecoder.mjs.map +1 -1
  66. package/dist/node-dev/packages/hydrogen-react/package.json.js +1 -1
  67. package/dist/node-dev/packages/hydrogen-react/package.json.mjs +1 -1
  68. package/dist/node-dev/parse-metafield.js +2 -0
  69. package/dist/node-dev/parse-metafield.js.map +1 -1
  70. package/dist/node-dev/parse-metafield.mjs +2 -0
  71. package/dist/node-dev/parse-metafield.mjs.map +1 -1
  72. package/dist/node-dev/storefront-api-constants.js +1 -1
  73. package/dist/node-dev/storefront-api-constants.js.map +1 -1
  74. package/dist/node-dev/storefront-api-constants.mjs +1 -1
  75. package/dist/node-dev/storefront-api-constants.mjs.map +1 -1
  76. package/dist/node-dev/useCartAPIStateMachine.js.map +1 -1
  77. package/dist/node-dev/useCartAPIStateMachine.mjs.map +1 -1
  78. package/dist/node-dev/useCartActions.js.map +1 -1
  79. package/dist/node-dev/useCartActions.mjs.map +1 -1
  80. package/dist/node-dev/useMoney.js.map +1 -1
  81. package/dist/node-dev/useMoney.mjs.map +1 -1
  82. package/dist/node-prod/AddToCartButton.js +3 -1
  83. package/dist/node-prod/AddToCartButton.js.map +1 -1
  84. package/dist/node-prod/AddToCartButton.mjs +3 -1
  85. package/dist/node-prod/AddToCartButton.mjs.map +1 -1
  86. package/dist/node-prod/CartLineProvider.js.map +1 -1
  87. package/dist/node-prod/CartLineProvider.mjs.map +1 -1
  88. package/dist/node-prod/CartProvider.js.map +1 -1
  89. package/dist/node-prod/CartProvider.mjs.map +1 -1
  90. package/dist/node-prod/Image.js.map +1 -1
  91. package/dist/node-prod/Image.mjs.map +1 -1
  92. package/dist/node-prod/ModelViewer.js.map +1 -1
  93. package/dist/node-prod/ModelViewer.mjs.map +1 -1
  94. package/dist/node-prod/Money.js.map +1 -1
  95. package/dist/node-prod/Money.mjs.map +1 -1
  96. package/dist/node-prod/Video.js.map +1 -1
  97. package/dist/node-prod/Video.mjs.map +1 -1
  98. package/dist/node-prod/cart-queries.js +63 -9
  99. package/dist/node-prod/cart-queries.js.map +1 -1
  100. package/dist/node-prod/cart-queries.mjs +63 -9
  101. package/dist/node-prod/cart-queries.mjs.map +1 -1
  102. package/dist/node-prod/codegen.helpers.js.map +1 -1
  103. package/dist/node-prod/codegen.helpers.mjs.map +1 -1
  104. package/dist/node-prod/optionValueDecoder.js.map +1 -1
  105. package/dist/node-prod/optionValueDecoder.mjs.map +1 -1
  106. package/dist/node-prod/packages/hydrogen-react/package.json.js +1 -1
  107. package/dist/node-prod/packages/hydrogen-react/package.json.mjs +1 -1
  108. package/dist/node-prod/parse-metafield.js +2 -0
  109. package/dist/node-prod/parse-metafield.js.map +1 -1
  110. package/dist/node-prod/parse-metafield.mjs +2 -0
  111. package/dist/node-prod/parse-metafield.mjs.map +1 -1
  112. package/dist/node-prod/storefront-api-constants.js +1 -1
  113. package/dist/node-prod/storefront-api-constants.js.map +1 -1
  114. package/dist/node-prod/storefront-api-constants.mjs +1 -1
  115. package/dist/node-prod/storefront-api-constants.mjs.map +1 -1
  116. package/dist/node-prod/useCartAPIStateMachine.js.map +1 -1
  117. package/dist/node-prod/useCartAPIStateMachine.mjs.map +1 -1
  118. package/dist/node-prod/useCartActions.js.map +1 -1
  119. package/dist/node-prod/useCartActions.mjs.map +1 -1
  120. package/dist/node-prod/useMoney.js.map +1 -1
  121. package/dist/node-prod/useMoney.mjs.map +1 -1
  122. package/dist/types/AddToCartButton.d.ts +3 -0
  123. package/dist/types/CartLineProvider.d.ts +1 -1
  124. package/dist/types/CartProvider.d.ts +2 -2
  125. package/dist/types/Image.d.ts +1 -1
  126. package/dist/types/ModelViewer.d.ts +1 -1
  127. package/dist/types/Money.d.ts +5 -5
  128. package/dist/types/Video.d.ts +1 -1
  129. package/dist/types/codegen.helpers.d.ts +2 -2
  130. package/dist/types/customer-account-api-types.d.ts +27 -13
  131. package/dist/types/optionValueDecoder.d.ts +2 -2
  132. package/dist/types/parse-metafield.d.ts +14 -2
  133. package/dist/types/storefront-api-constants.d.ts +1 -1
  134. package/dist/types/storefront-api-types.d.ts +118 -4
  135. package/dist/types/useCartAPIStateMachine.d.ts +2 -2
  136. package/dist/types/useCartActions.d.ts +2 -2
  137. package/dist/types/useMoney.d.ts +4 -4
  138. package/dist/umd/hydrogen-react.dev.js +70 -12
  139. package/dist/umd/hydrogen-react.dev.js.map +1 -1
  140. package/dist/umd/hydrogen-react.prod.js +77 -23
  141. package/dist/umd/hydrogen-react.prod.js.map +1 -1
  142. package/package.json +1 -1
  143. 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/2025-10/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2025-10/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/2025-10/objects/Product#field-encodedvariantexistence) or [product.encodedVariantAvailability](/docs/api/storefront/2025-10/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 = "2025-10";
@@ -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 2025-10
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,6 +1329,8 @@ 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. */
@@ -1341,6 +1365,8 @@ export type CartErrorCode =
1341
1365
  | 'LESS_THAN'
1342
1366
  /** The quantity must be below the specified maximum for the item. */
1343
1367
  | 'MAXIMUM_EXCEEDED'
1368
+ /** Item cannot be purchased as configured. */
1369
+ | 'MERCHANDISE_NOT_APPLICABLE'
1344
1370
  /** The quantity must be above the specified minimum for the item. */
1345
1371
  | 'MINIMUM_NOT_MET'
1346
1372
  /** The customer access token is required when setting a company location. */
@@ -1353,6 +1379,12 @@ export type CartErrorCode =
1353
1379
  | 'NOTE_TOO_LONG'
1354
1380
  /** Only one delivery address can be selected. */
1355
1381
  | 'ONLY_ONE_DELIVERY_ADDRESS_CAN_BE_SELECTED'
1382
+ /** Parent line nesting is too deep or circular. */
1383
+ | 'PARENT_LINE_NESTING_TOO_DEEP'
1384
+ /** Parent line not found. */
1385
+ | 'PARENT_LINE_NOT_FOUND'
1386
+ /** Nested cartlines are blocked due to an incompatibility. */
1387
+ | 'PARENT_LINE_OPERATION_BLOCKED'
1356
1388
  /** Credit card has expired. */
1357
1389
  | 'PAYMENTS_CREDIT_CARD_BASE_EXPIRED'
1358
1390
  /** Credit card gateway is not supported. */
@@ -1420,6 +1452,17 @@ export type CartFreePaymentMethodInput = {
1420
1452
  billingAddress: MailingAddressInput;
1421
1453
  };
1422
1454
 
1455
+ /** Return type for `cartGiftCardCodesAdd` mutation. */
1456
+ export type CartGiftCardCodesAddPayload = {
1457
+ __typename?: 'CartGiftCardCodesAddPayload';
1458
+ /** The updated cart. */
1459
+ cart?: Maybe<Cart>;
1460
+ /** The list of errors that occurred from executing the mutation. */
1461
+ userErrors: Array<CartUserError>;
1462
+ /** A list of warnings that occurred during the mutation. */
1463
+ warnings: Array<CartWarning>;
1464
+ };
1465
+
1423
1466
  /** Return type for `cartGiftCardCodesRemove` mutation. */
1424
1467
  export type CartGiftCardCodesRemovePayload = {
1425
1468
  __typename?: 'CartGiftCardCodesRemovePayload';
@@ -1530,8 +1573,12 @@ export type CartLine = BaseCartLine &
1530
1573
  estimatedCost: CartLineEstimatedCost;
1531
1574
  /** A globally-unique ID. */
1532
1575
  id: Scalars['ID']['output'];
1576
+ /** The instructions for the line item. */
1577
+ instructions: CartLineInstructions;
1533
1578
  /** The merchandise that the buyer intends to purchase. */
1534
1579
  merchandise: Merchandise;
1580
+ /** The parent of the line item. */
1581
+ parentRelationship?: Maybe<CartLineParentRelationship>;
1535
1582
  /** The quantity of the merchandise that the customer intends to purchase. */
1536
1583
  quantity: Scalars['Int']['output'];
1537
1584
  /** The selling plan associated with the cart line and the effect that each selling plan has on variants when they're purchased. */
@@ -1582,12 +1629,38 @@ export type CartLineInput = {
1582
1629
  attributes?: InputMaybe<Array<AttributeInput>>;
1583
1630
  /** The ID of the merchandise that the buyer intends to purchase. */
1584
1631
  merchandiseId: Scalars['ID']['input'];
1632
+ /** The parent line item of the cart line. */
1633
+ parent?: InputMaybe<CartLineParentInput>;
1585
1634
  /** The quantity of the merchandise. */
1586
1635
  quantity?: InputMaybe<Scalars['Int']['input']>;
1587
1636
  /** The ID of the selling plan that the merchandise is being purchased with. */
1588
1637
  sellingPlanId?: InputMaybe<Scalars['ID']['input']>;
1589
1638
  };
1590
1639
 
1640
+ /** Represents instructions for a cart line item. */
1641
+ export type CartLineInstructions = {
1642
+ __typename?: 'CartLineInstructions';
1643
+ /** Whether the line item can be removed from the cart. */
1644
+ canRemove: Scalars['Boolean']['output'];
1645
+ /** Whether the line item quantity can be updated. */
1646
+ canUpdateQuantity: Scalars['Boolean']['output'];
1647
+ };
1648
+
1649
+ /** The parent line item of the cart line. */
1650
+ export type CartLineParentInput = {
1651
+ /** The id of the parent line item. */
1652
+ lineId?: InputMaybe<Scalars['ID']['input']>;
1653
+ /** The ID of the parent line merchandise. */
1654
+ merchandiseId?: InputMaybe<Scalars['ID']['input']>;
1655
+ };
1656
+
1657
+ /** Represents the parent relationship of a cart line. */
1658
+ export type CartLineParentRelationship = {
1659
+ __typename?: 'CartLineParentRelationship';
1660
+ /** The parent cart line. */
1661
+ parent: CartLine;
1662
+ };
1663
+
1591
1664
  /** The input fields to update a line item on a cart. */
1592
1665
  export type CartLineUpdateInput = {
1593
1666
  /**
@@ -1980,6 +2053,8 @@ export type CartWarningCode =
1980
2053
  | 'MERCHANDISE_NOT_ENOUGH_STOCK'
1981
2054
  /** The merchandise is out of stock. */
1982
2055
  | 'MERCHANDISE_OUT_OF_STOCK'
2056
+ /** Only one-time purchase is available for B2B orders. */
2057
+ | 'MERCHANDISE_SELLING_PLAN_NOT_APPLICABLE_ON_COMPANY_LOCATION'
1983
2058
  /** Gift cards are not available as a payment method. */
1984
2059
  | 'PAYMENTS_GIFT_CARDS_UNAVAILABLE';
1985
2060
 
@@ -4884,7 +4959,10 @@ export type MediaPresentation = Node & {
4884
4959
  __typename?: 'MediaPresentation';
4885
4960
  /** A JSON object representing a presentation view. */
4886
4961
  asJson?: Maybe<Scalars['JSON']['output']>;
4887
- /** A globally-unique ID. */
4962
+ /**
4963
+ * A globally-unique ID.
4964
+ * @deprecated MediaPresentation IDs are being deprecated. Access the data directly via the asJson field on the Media type.
4965
+ */
4888
4966
  id: Scalars['ID']['output'];
4889
4967
  };
4890
4968
 
@@ -5094,6 +5172,7 @@ export type MetafieldParentResource =
5094
5172
  *
5095
5173
  */
5096
5174
  export type MetafieldReference =
5175
+ | Article
5097
5176
  | Collection
5098
5177
  | GenericFile
5099
5178
  | MediaImage
@@ -5190,7 +5269,7 @@ export type Metaobject = Node &
5190
5269
  *
5191
5270
  */
5192
5271
  seo?: Maybe<MetaobjectSeo>;
5193
- /** The type of the metaobject. Defines the namespace of its associated metafields. */
5272
+ /** The type of the metaobject. */
5194
5273
  type: Scalars['String']['output'];
5195
5274
  /** The date and time when the metaobject was last updated. */
5196
5275
  updatedAt: Scalars['DateTime']['output'];
@@ -5337,16 +5416,22 @@ export type Mutation = {
5337
5416
  *
5338
5417
  */
5339
5418
  cartBuyerIdentityUpdate?: Maybe<CartBuyerIdentityUpdatePayload>;
5419
+ /** Creates a clone of the specified cart with all personally identifiable information removed. */
5420
+ cartClone?: Maybe<CartClonePayload>;
5340
5421
  /** Creates a new cart. */
5341
5422
  cartCreate?: Maybe<CartCreatePayload>;
5342
5423
  /** Adds delivery addresses to the cart. */
5343
5424
  cartDeliveryAddressesAdd?: Maybe<CartDeliveryAddressesAddPayload>;
5344
5425
  /** Removes delivery addresses from the cart. */
5345
5426
  cartDeliveryAddressesRemove?: Maybe<CartDeliveryAddressesRemovePayload>;
5427
+ /** Replaces delivery addresses on the cart. */
5428
+ cartDeliveryAddressesReplace?: Maybe<CartDeliveryAddressesReplacePayload>;
5346
5429
  /** Updates one or more delivery addresses on a cart. */
5347
5430
  cartDeliveryAddressesUpdate?: Maybe<CartDeliveryAddressesUpdatePayload>;
5348
5431
  /** Updates the discount codes applied to the cart. */
5349
5432
  cartDiscountCodesUpdate?: Maybe<CartDiscountCodesUpdatePayload>;
5433
+ /** Adds gift card codes to the cart without replacing existing ones. */
5434
+ cartGiftCardCodesAdd?: Maybe<CartGiftCardCodesAddPayload>;
5350
5435
  /** Removes the gift card codes applied to the cart. */
5351
5436
  cartGiftCardCodesRemove?: Maybe<CartGiftCardCodesRemovePayload>;
5352
5437
  /** Updates the gift card codes applied to the cart. */
@@ -5468,6 +5553,11 @@ export type MutationCartBuyerIdentityUpdateArgs = {
5468
5553
  cartId: Scalars['ID']['input'];
5469
5554
  };
5470
5555
 
5556
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5557
+ export type MutationCartCloneArgs = {
5558
+ cartId: Scalars['ID']['input'];
5559
+ };
5560
+
5471
5561
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5472
5562
  export type MutationCartCreateArgs = {
5473
5563
  input?: InputMaybe<CartInput>;
@@ -5485,6 +5575,12 @@ export type MutationCartDeliveryAddressesRemoveArgs = {
5485
5575
  cartId: Scalars['ID']['input'];
5486
5576
  };
5487
5577
 
5578
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5579
+ export type MutationCartDeliveryAddressesReplaceArgs = {
5580
+ addresses: Array<CartSelectableAddressInput>;
5581
+ cartId: Scalars['ID']['input'];
5582
+ };
5583
+
5488
5584
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5489
5585
  export type MutationCartDeliveryAddressesUpdateArgs = {
5490
5586
  addresses: Array<CartSelectableAddressUpdateInput>;
@@ -5497,6 +5593,12 @@ export type MutationCartDiscountCodesUpdateArgs = {
5497
5593
  discountCodes?: InputMaybe<Array<Scalars['String']['input']>>;
5498
5594
  };
5499
5595
 
5596
+ /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5597
+ export type MutationCartGiftCardCodesAddArgs = {
5598
+ cartId: Scalars['ID']['input'];
5599
+ giftCardCodes: Array<Scalars['String']['input']>;
5600
+ };
5601
+
5500
5602
  /** The schema’s entry-point for mutations. This acts as the public, top-level API from which all mutation queries must start. */
5501
5603
  export type MutationCartGiftCardCodesRemoveArgs = {
5502
5604
  appliedGiftCardIds: Array<Scalars['ID']['input']>;
@@ -8588,7 +8690,7 @@ export type SitemapResourceMetaobject = SitemapResourceInterface & {
8588
8690
  handle: Scalars['String']['output'];
8589
8691
  /** The URL handle for accessing pages of this metaobject type in the Online Store. */
8590
8692
  onlineStoreUrlHandle?: Maybe<Scalars['String']['output']>;
8591
- /** The type of the metaobject. Defines the namespace of its associated metafields. */
8693
+ /** The type of the metaobject. */
8592
8694
  type: Scalars['String']['output'];
8593
8695
  /** The date and time when the resource was updated. */
8594
8696
  updatedAt: Scalars['DateTime']['output'];
@@ -9068,6 +9170,18 @@ export type VideoSource = {
9068
9170
  width: Scalars['Int']['output'];
9069
9171
  };
9070
9172
 
9173
+ /** 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. */
9174
+ export type VisitorConsent = {
9175
+ /** The visitor accepts or rejects the analytics data processing purpose. */
9176
+ analytics?: InputMaybe<Scalars['Boolean']['input']>;
9177
+ /** The visitor accepts or rejects the first and third party marketing data processing purposes. */
9178
+ marketing?: InputMaybe<Scalars['Boolean']['input']>;
9179
+ /** The visitor accepts or rejects the preferences data processing purpose. */
9180
+ preferences?: InputMaybe<Scalars['Boolean']['input']>;
9181
+ /** The visitor accepts or rejects the sale or sharing of their data with third parties. */
9182
+ saleOfData?: InputMaybe<Scalars['Boolean']['input']>;
9183
+ };
9184
+
9071
9185
  /** Units of measurement for weight. */
9072
9186
  export type WeightUnit =
9073
9187
  /** 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/2025-10/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/2025-10/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/2025-10/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/2025-10/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/2025-10/objects/MoneyV2)
63
+ * or a [MoneyV2 object from the Customer Account API](https://shopify.dev/docs/api/customer/2025-10/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`
@@ -456,7 +456,13 @@
456
456
  $numCartLines: Int = 250
457
457
  $country: CountryCode = ZZ
458
458
  $language: LanguageCode
459
- ) @inContext(country: $country, language: $language) {
459
+ $visitorConsent: VisitorConsent
460
+ )
461
+ @inContext(
462
+ country: $country
463
+ language: $language
464
+ visitorConsent: $visitorConsent
465
+ ) {
460
466
  cartLinesAdd(cartId: $cartId, lines: $lines) {
461
467
  cart {
462
468
  ...CartFragment
@@ -475,7 +481,13 @@
475
481
  $numCartLines: Int = 250
476
482
  $country: CountryCode = ZZ
477
483
  $language: LanguageCode
478
- ) @inContext(country: $country, language: $language) {
484
+ $visitorConsent: VisitorConsent
485
+ )
486
+ @inContext(
487
+ country: $country
488
+ language: $language
489
+ visitorConsent: $visitorConsent
490
+ ) {
479
491
  cartCreate(input: $input) {
480
492
  cart {
481
493
  ...CartFragment
@@ -495,7 +507,13 @@
495
507
  $numCartLines: Int = 250
496
508
  $country: CountryCode = ZZ
497
509
  $language: LanguageCode
498
- ) @inContext(country: $country, language: $language) {
510
+ $visitorConsent: VisitorConsent
511
+ )
512
+ @inContext(
513
+ country: $country
514
+ language: $language
515
+ visitorConsent: $visitorConsent
516
+ ) {
499
517
  cartLinesRemove(cartId: $cartId, lineIds: $lines) {
500
518
  cart {
501
519
  ...CartFragment
@@ -515,7 +533,13 @@
515
533
  $numCartLines: Int = 250
516
534
  $country: CountryCode = ZZ
517
535
  $language: LanguageCode
518
- ) @inContext(country: $country, language: $language) {
536
+ $visitorConsent: VisitorConsent
537
+ )
538
+ @inContext(
539
+ country: $country
540
+ language: $language
541
+ visitorConsent: $visitorConsent
542
+ ) {
519
543
  cartLinesUpdate(cartId: $cartId, lines: $lines) {
520
544
  cart {
521
545
  ...CartFragment
@@ -535,7 +559,13 @@
535
559
  $numCartLines: Int = 250
536
560
  $country: CountryCode = ZZ
537
561
  $language: LanguageCode
538
- ) @inContext(country: $country, language: $language) {
562
+ $visitorConsent: VisitorConsent
563
+ )
564
+ @inContext(
565
+ country: $country
566
+ language: $language
567
+ visitorConsent: $visitorConsent
568
+ ) {
539
569
  cartNoteUpdate(cartId: $cartId, note: $note) {
540
570
  cart {
541
571
  ...CartFragment
@@ -555,7 +585,13 @@
555
585
  $numCartLines: Int = 250
556
586
  $country: CountryCode = ZZ
557
587
  $language: LanguageCode
558
- ) @inContext(country: $country, language: $language) {
588
+ $visitorConsent: VisitorConsent
589
+ )
590
+ @inContext(
591
+ country: $country
592
+ language: $language
593
+ visitorConsent: $visitorConsent
594
+ ) {
559
595
  cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {
560
596
  cart {
561
597
  ...CartFragment
@@ -575,7 +611,13 @@
575
611
  $numCartLines: Int = 250
576
612
  $country: CountryCode = ZZ
577
613
  $language: LanguageCode
578
- ) @inContext(country: $country, language: $language) {
614
+ $visitorConsent: VisitorConsent
615
+ )
616
+ @inContext(
617
+ country: $country
618
+ language: $language
619
+ visitorConsent: $visitorConsent
620
+ ) {
579
621
  cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {
580
622
  cart {
581
623
  ...CartFragment
@@ -595,7 +637,13 @@
595
637
  $numCartLines: Int = 250
596
638
  $country: CountryCode = ZZ
597
639
  $language: LanguageCode
598
- ) @inContext(country: $country, language: $language) {
640
+ $visitorConsent: VisitorConsent
641
+ )
642
+ @inContext(
643
+ country: $country
644
+ language: $language
645
+ visitorConsent: $visitorConsent
646
+ ) {
599
647
  cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {
600
648
  cart {
601
649
  ...CartFragment
@@ -614,7 +662,13 @@
614
662
  $numCartLines: Int = 250
615
663
  $country: CountryCode = ZZ
616
664
  $language: LanguageCode
617
- ) @inContext(country: $country, language: $language) {
665
+ $visitorConsent: VisitorConsent
666
+ )
667
+ @inContext(
668
+ country: $country
669
+ language: $language
670
+ visitorConsent: $visitorConsent
671
+ ) {
618
672
  cart(id: $id) {
619
673
  ...CartFragment
620
674
  }
@@ -728,7 +782,7 @@
728
782
  }
729
783
  `
730
784
  );
731
- const SFAPI_VERSION = "2025-07";
785
+ const SFAPI_VERSION = "2025-10";
732
786
  const MOCK_SHOP_DOMAIN = "mock.shop";
733
787
  const isMockShop = (domain) => domain.includes(MOCK_SHOP_DOMAIN);
734
788
  function createStorefrontClient({
@@ -2181,6 +2235,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
2181
2235
  onClick,
2182
2236
  children,
2183
2237
  accessibleAddingToCartLabel,
2238
+ parent,
2184
2239
  ...passthroughProps
2185
2240
  } = props;
2186
2241
  const { status, linesAdd } = useCart();
@@ -2200,10 +2255,11 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
2200
2255
  quantity,
2201
2256
  merchandiseId: variantId || "",
2202
2257
  attributes,
2258
+ parent,
2203
2259
  sellingPlanId
2204
2260
  }
2205
2261
  ]);
2206
- }, [linesAdd, quantity, variantId, attributes, sellingPlanId]);
2262
+ }, [linesAdd, quantity, variantId, attributes, sellingPlanId, parent]);
2207
2263
  return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
2208
2264
  BaseButton,
2209
2265
  {
@@ -2423,7 +2479,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
2423
2479
  }
2424
2480
  return false;
2425
2481
  }
2426
- const version = "2025.7.2";
2482
+ const version = "2025.10.0";
2427
2483
  const SCHEMA_ID = "custom_storefront_customer_tracking/1.2";
2428
2484
  const PAGE_RENDERED_EVENT_NAME = "page_rendered";
2429
2485
  const COLLECTION_PAGE_RENDERED_EVENT_NAME = "collection_page_rendered";
@@ -4170,6 +4226,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
4170
4226
  ...metafield,
4171
4227
  parsedValue: metafield.value === "true"
4172
4228
  };
4229
+ case "article_reference":
4173
4230
  case "collection_reference":
4174
4231
  case "file_reference":
4175
4232
  case "page_reference":
@@ -4263,6 +4320,7 @@ Refer to the authentication https://shopify.dev/api/storefront#authentication do
4263
4320
  ...metafield,
4264
4321
  parsedValue: Number(metafield.value)
4265
4322
  };
4323
+ case "list.article_reference":
4266
4324
  case "list.collection_reference":
4267
4325
  case "list.file_reference":
4268
4326
  case "list.page_reference":