@tiledev/sdk-shopify 0.2.7 → 0.4.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.
package/dist/queries.d.ts CHANGED
@@ -6,26 +6,26 @@ export declare const VARIANT_FRAGMENT = "\n \n fragment MoneyFields on MoneyV2
6
6
  * reduced to content types, which is all a grid asks of it (the play badge), rather than every
7
7
  * product in the grid carrying video sources and preview images. `ProductFields` has both.
8
8
  */
9
- export declare const PRODUCT_CARD_FRAGMENT = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductCardFields on Product {\n ...ProductCoreFields\n media(first: 250) { nodes { mediaContentType } }\n }\n";
10
- export declare const PRODUCT_FRAGMENT = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductFields on Product {\n ...ProductCoreFields\n # Videos are appended after images, so a small window misses them entirely.\n media(first: 250) {\n nodes {\n mediaContentType\n alt\n previewImage { url }\n ... on MediaImage { id image { url altText } }\n # mimeType tells the usable mp4s from the HLS/DASH manifests Shopify also returns.\n ... on Video { id sources { url mimeType width height } }\n ... on ExternalVideo { id embeddedUrl host }\n }\n }\n }\n";
9
+ export declare const productCardFragment: () => string;
10
+ export declare const productFragment: () => string;
11
11
  export declare const COLLECTION_FRAGMENT = "\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment CollectionFields on Collection {\n id\n handle\n title\n description\n descriptionHtml\n image { ...ImageFields }\n }\n";
12
- export declare const CART_FRAGMENT = "\n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n";
12
+ export declare const CART_FRAGMENT = "\n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n";
13
13
  export declare const ADDRESS_FRAGMENT = "\n fragment AddressFields on MailingAddress {\n id\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n phone\n }\n";
14
14
  export declare const CUSTOMER_FRAGMENT = "\n \n fragment AddressFields on MailingAddress {\n id\n firstName\n lastName\n address1\n address2\n city\n province\n country\n zip\n phone\n }\n\n fragment CustomerFields on Customer {\n id\n email\n firstName\n lastName\n phone\n acceptsMarketing\n defaultAddress { ...AddressFields }\n }\n";
15
- export declare const PRODUCTS_LIST_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductFields on Product {\n ...ProductCoreFields\n # Videos are appended after images, so a small window misses them entirely.\n media(first: 250) {\n nodes {\n mediaContentType\n alt\n previewImage { url }\n ... on MediaImage { id image { url altText } }\n # mimeType tells the usable mp4s from the HLS/DASH manifests Shopify also returns.\n ... on Video { id sources { url mimeType width height } }\n ... on ExternalVideo { id embeddedUrl host }\n }\n }\n }\n\n query Products($first: Int!, $after: String, $query: String, $sortKey: ProductSortKeys, $reverse: Boolean) {\n products(first: $first, after: $after, query: $query, sortKey: $sortKey, reverse: $reverse) {\n nodes { ...ProductFields }\n pageInfo { hasNextPage hasPreviousPage startCursor endCursor }\n }\n }\n";
16
- export declare const PRODUCT_BY_HANDLE_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductFields on Product {\n ...ProductCoreFields\n # Videos are appended after images, so a small window misses them entirely.\n media(first: 250) {\n nodes {\n mediaContentType\n alt\n previewImage { url }\n ... on MediaImage { id image { url altText } }\n # mimeType tells the usable mp4s from the HLS/DASH manifests Shopify also returns.\n ... on Video { id sources { url mimeType width height } }\n ... on ExternalVideo { id embeddedUrl host }\n }\n }\n }\n\n query ProductByHandle($handle: String!) {\n product(handle: $handle) { ...ProductFields }\n }\n";
17
- export declare const PRODUCT_BY_ID_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductFields on Product {\n ...ProductCoreFields\n # Videos are appended after images, so a small window misses them entirely.\n media(first: 250) {\n nodes {\n mediaContentType\n alt\n previewImage { url }\n ... on MediaImage { id image { url altText } }\n # mimeType tells the usable mp4s from the HLS/DASH manifests Shopify also returns.\n ... on Video { id sources { url mimeType width height } }\n ... on ExternalVideo { id embeddedUrl host }\n }\n }\n }\n\n query ProductById($id: ID!) {\n product(id: $id) { ...ProductFields }\n }\n";
18
- export declare const PRODUCT_RECOMMENDATIONS_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductCardFields on Product {\n ...ProductCoreFields\n media(first: 250) { nodes { mediaContentType } }\n }\n\n query Recommended($productId: ID!) {\n productRecommendations(productId: $productId) { ...ProductCardFields }\n }\n";
15
+ export declare const productsListQuery: () => string;
16
+ export declare const productByHandleQuery: () => string;
17
+ export declare const productByIdQuery: () => string;
18
+ export declare const productRecommendationsQuery: () => string;
19
19
  export declare const COLLECTIONS_LIST_QUERY = "\n \n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment CollectionFields on Collection {\n id\n handle\n title\n description\n descriptionHtml\n image { ...ImageFields }\n }\n\n query Collections($first: Int!, $after: String, $query: String, $sortKey: CollectionSortKeys, $reverse: Boolean) {\n collections(first: $first, after: $after, query: $query, sortKey: $sortKey, reverse: $reverse) {\n nodes { ...CollectionFields }\n pageInfo { hasNextPage hasPreviousPage startCursor endCursor }\n }\n }\n";
20
20
  export declare const COLLECTION_BY_HANDLE_QUERY = "\n \n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment CollectionFields on Collection {\n id\n handle\n title\n description\n descriptionHtml\n image { ...ImageFields }\n }\n\n query CollectionByHandle($handle: String!) {\n collection(handle: $handle) { ...CollectionFields }\n }\n";
21
- export declare const COLLECTION_PRODUCTS_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductCardFields on Product {\n ...ProductCoreFields\n media(first: 250) { nodes { mediaContentType } }\n }\n\n query CollectionProducts($handle: String!, $first: Int!, $after: String, $sortKey: ProductCollectionSortKeys, $reverse: Boolean, $filters: [ProductFilter!]) {\n collection(handle: $handle) {\n handle\n title\n products(first: $first, after: $after, sortKey: $sortKey, reverse: $reverse, filters: $filters) {\n nodes { ...ProductCardFields }\n pageInfo { hasNextPage hasPreviousPage startCursor endCursor }\n filters {\n id\n label\n type\n values { id label count input }\n }\n }\n }\n }\n";
22
- export declare const SEARCH_PRODUCTS_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductCardFields on Product {\n ...ProductCoreFields\n media(first: 250) { nodes { mediaContentType } }\n }\n\n query SearchProducts(\n $query: String!\n $first: Int!\n $after: String\n $productFilters: [ProductFilter!]\n # SearchSortKeys, NOT ProductSortKeys \u2014 only RELEVANCE and PRICE exist here.\n $sortKey: SearchSortKeys\n $reverse: Boolean\n ) {\n search(\n query: $query\n first: $first\n after: $after\n types: [PRODUCT]\n productFilters: $productFilters\n sortKey: $sortKey\n reverse: $reverse\n ) {\n totalCount\n nodes {\n ... on Product { ...ProductCardFields }\n }\n pageInfo { hasNextPage hasPreviousPage startCursor endCursor }\n productFilters {\n id\n label\n type\n values { id label count input }\n }\n }\n }\n";
23
- export declare const CART_CREATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartCreate($input: CartInput) {\n cartCreate(input: $input) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
24
- export declare const CART_GET_QUERY = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n query CartGet($id: ID!) {\n cart(id: $id) { ...CartFields }\n }\n";
25
- export declare const CART_LINES_ADD_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
26
- export declare const CART_LINES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
27
- export declare const CART_LINES_REMOVE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
28
- export declare const CART_DISCOUNT_CODES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
21
+ export declare const collectionProductsQuery: () => string;
22
+ export declare const searchProductsQuery: () => string;
23
+ export declare const CART_CREATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartCreate($input: CartInput) {\n cartCreate(input: $input) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
24
+ export declare const CART_GET_QUERY = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n query CartGet($id: ID!) {\n cart(id: $id) { ...CartFields }\n }\n";
25
+ export declare const CART_LINES_ADD_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesAdd($cartId: ID!, $lines: [CartLineInput!]!) {\n cartLinesAdd(cartId: $cartId, lines: $lines) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
26
+ export declare const CART_LINES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesUpdate($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n cartLinesUpdate(cartId: $cartId, lines: $lines) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
27
+ export declare const CART_LINES_REMOVE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartLinesRemove($cartId: ID!, $lineIds: [ID!]!) {\n cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
28
+ export declare const CART_DISCOUNT_CODES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartDiscountCodesUpdate($cartId: ID!, $discountCodes: [String!]) {\n cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
29
29
  /**
30
30
  * The shopper's order note. It rides the cart to the order, where the merchant reads it beside the
31
31
  * line items — so it is content, not a cart attribute, and Shopify gives it its own mutation.
@@ -35,10 +35,11 @@ export declare const CART_DISCOUNT_CODES_UPDATE_MUTATION = "\n \n \n \n frag
35
35
  * not a case that only shows up when clearing. Clearing is the empty string, which is also what a
36
36
  * cart with no note reads back as.
37
37
  */
38
- export declare const CART_NOTE_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartNoteUpdate($cartId: ID!, $note: String!) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
39
- export declare const CART_BUYER_IDENTITY_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
40
- export declare const CART_GIFT_CARD_CODES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartGiftCardCodesUpdate($cartId: ID!, $giftCardCodes: [String!]!) {\n cartGiftCardCodesUpdate(cartId: $cartId, giftCardCodes: $giftCardCodes) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
41
- export declare const CART_GIFT_CARD_CODES_REMOVE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartGiftCardCodesRemove($cartId: ID!, $appliedGiftCardIds: [ID!]!) {\n cartGiftCardCodesRemove(cartId: $cartId, appliedGiftCardIds: $appliedGiftCardIds) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
38
+ export declare const CART_ATTRIBUTES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!) {\n cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
39
+ export declare const CART_NOTE_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartNoteUpdate($cartId: ID!, $note: String!) {\n cartNoteUpdate(cartId: $cartId, note: $note) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
40
+ export declare const CART_BUYER_IDENTITY_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartBuyerIdentityUpdate($cartId: ID!, $buyerIdentity: CartBuyerIdentityInput!) {\n cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
41
+ export declare const CART_GIFT_CARD_CODES_UPDATE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartGiftCardCodesUpdate($cartId: ID!, $giftCardCodes: [String!]!) {\n cartGiftCardCodesUpdate(cartId: $cartId, giftCardCodes: $giftCardCodes) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
42
+ export declare const CART_GIFT_CARD_CODES_REMOVE_MUTATION = "\n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n fragment CartFields on Cart {\n id\n checkoutUrl\n totalQuantity\n note\n attributes { key value }\n buyerIdentity { countryCode email phone }\n cost {\n subtotalAmount { ...MoneyFields }\n totalAmount { ...MoneyFields }\n totalTaxAmount { ...MoneyFields }\n checkoutChargeAmount { ...MoneyFields }\n }\n discountCodes { code applicable }\n appliedGiftCards {\n id\n lastCharacters\n presentmentAmountUsed { ...MoneyFields }\n balance { ...MoneyFields }\n amountUsed { ...MoneyFields }\n }\n createdAt\n updatedAt\n lines(first: 250) {\n nodes {\n id\n quantity\n attributes { key value }\n cost {\n totalAmount { ...MoneyFields }\n amountPerQuantity { ...MoneyFields }\n compareAtAmountPerQuantity { ...MoneyFields }\n }\n merchandise {\n ... on ProductVariant {\n ...VariantFields\n product { id title handle }\n }\n }\n }\n }\n }\n\n mutation CartGiftCardCodesRemove($cartId: ID!, $appliedGiftCardIds: [ID!]!) {\n cartGiftCardCodesRemove(cartId: $cartId, appliedGiftCardIds: $appliedGiftCardIds) {\n cart { ...CartFields }\n userErrors { field message code }\n }\n }\n";
42
43
  /** Shop's IP-localized country (e.g. `"US"`). We use this as the fallback
43
44
  * countryCode when applying a gift card so the cart has a payment tender. */
44
45
  export declare const SHOP_LOCALIZATION_QUERY = "\n query ShopLocalization {\n localization {\n country { isoCode name }\n }\n }\n";
@@ -58,7 +59,7 @@ export declare const BLOG_BY_HANDLE_QUERY = "\n \n fragment BlogFields on Blog
58
59
  export declare const BLOG_ARTICLES_QUERY = "\n \n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n \n fragment BlogFields on Blog {\n id\n handle\n title\n }\n\n fragment ArticleFields on Article {\n id\n handle\n title\n content\n contentHtml\n excerpt\n excerptHtml\n publishedAt\n tags\n image { ...ImageFields }\n authorV2 {\n name\n email\n bio\n }\n blog { ...BlogFields }\n }\n\n query BlogArticles($handle: String!, $first: Int!, $after: String, $sortKey: ArticleSortKeys, $reverse: Boolean) {\n blog(handle: $handle) {\n articles(first: $first, after: $after, sortKey: $sortKey, reverse: $reverse) {\n nodes { ...ArticleFields }\n pageInfo { hasNextPage hasPreviousPage startCursor endCursor }\n }\n }\n }\n";
59
60
  export declare const BLOG_ARTICLE_BY_HANDLE_QUERY = "\n \n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n \n fragment BlogFields on Blog {\n id\n handle\n title\n }\n\n fragment ArticleFields on Article {\n id\n handle\n title\n content\n contentHtml\n excerpt\n excerptHtml\n publishedAt\n tags\n image { ...ImageFields }\n authorV2 {\n name\n email\n bio\n }\n blog { ...BlogFields }\n }\n\n query BlogArticleByHandle($blogHandle: String!, $articleHandle: String!) {\n blog(handle: $blogHandle) {\n articleByHandle(handle: $articleHandle) { ...ArticleFields }\n }\n }\n";
60
61
  /** Deleted or access-denied products come back as `null`, position-preserved. */
61
- export declare const NODES_AS_PRODUCTS_QUERY = "\n \n \n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n fragment ProductCoreFields on Product {\n id\n handle\n title\n description\n descriptionHtml\n vendor\n productType\n tags\n totalInventory\n availableForSale\n priceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n compareAtPriceRange {\n minVariantPrice { ...MoneyFields }\n maxVariantPrice { ...MoneyFields }\n }\n options { id name values }\n variants(first: 100) { nodes { ...VariantFields } }\n images(first: 20) { nodes { ...ImageFields } }\n featuredImage { ...ImageFields }\n onlineStoreUrl\n updatedAt\n createdAt\n }\n\n fragment ProductCardFields on Product {\n ...ProductCoreFields\n media(first: 250) { nodes { mediaContentType } }\n }\n\n query WishlistNodes($ids: [ID!]!) {\n nodes(ids: $ids) {\n __typename\n ... on Product { ...ProductCardFields }\n }\n }\n";
62
+ export declare const nodesAsProductsQuery: () => string;
62
63
  export declare const SHOP_QUERY = "\n query ShopInfo {\n shop {\n name\n moneyFormat\n paymentSettings {\n currencyCode\n }\n }\n }\n";
63
64
  /** Each variant carries enough of its parent product to render a card without a second trip. */
64
65
  export declare const NODES_AS_VARIANTS_QUERY = "\n \n \n fragment MoneyFields on MoneyV2 {\n amount\n currencyCode\n }\n\n \n fragment ImageFields on Image {\n url\n altText\n width\n height\n }\n\n fragment VariantFields on ProductVariant {\n id\n title\n sku\n availableForSale\n quantityAvailable\n price { ...MoneyFields }\n compareAtPrice { ...MoneyFields }\n selectedOptions { name value }\n image { ...ImageFields }\n }\n\n query VariantNodes($ids: [ID!]!) {\n nodes(ids: $ids) {\n __typename\n ... on ProductVariant {\n ...VariantFields\n sellingPlanAllocations(first: 1) {\n nodes {\n sellingPlan { id name }\n remainingBalanceChargeAmount { ...MoneyFields }\n }\n }\n product {\n id\n title\n handle\n featuredImage { ...ImageFields }\n media(first: 250) { nodes { mediaContentType } }\n }\n }\n }\n }\n";
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,+EAK1B,CAAC;AAEF,eAAO,MAAM,cAAc,4FAO1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,mbAc5B,CAAC;AAkCF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,6sCAMjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,8mDAiB5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,uPAU/B,CAAC;AAEF,eAAO,MAAM,aAAa,sgDA4CzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oLAa5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kWAW7B,CAAC;AAIF,eAAO,MAAM,mBAAmB,27DAQ/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,ytDAKnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,qsDAK/B,CAAC;AAEF,eAAO,MAAM,6BAA6B,40CAKzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,glBAQlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,2WAKtC,CAAC;AAEF,eAAO,MAAM,yBAAyB,yxDAkBrC,CAAC;AAEF,eAAO,MAAM,qBAAqB,u8DAiCjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4qDAQhC,CAAC;AAEF,eAAO,MAAM,cAAc,mlDAK1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,utDAQnC,CAAC;AAEF,eAAO,MAAM,0BAA0B,muDAQtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wtDAQtC,CAAC;AAEF,eAAO,MAAM,mCAAmC,6vDAQ/C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,8sDAQrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,2wDAQ/C,CAAC;AAMF,eAAO,MAAM,oCAAoC,8vDAQhD,CAAC;AAEF,eAAO,MAAM,oCAAoC,ywDAQhD,CAAC;AAEF;8EAC8E;AAC9E,eAAO,MAAM,uBAAuB,mGAMnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,2iBAQpC,CAAC;AAEF,eAAO,MAAM,qCAAqC,0PAOjD,CAAC;AAEF,eAAO,MAAM,qCAAqC,oOAOjD,CAAC;AAEF,eAAO,MAAM,cAAc,+dAK1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,yJAMrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,8mBAQpC,CAAC;AAIF,eAAO,MAAM,cAAc,uuCAyC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,kkDAUjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,68CAStC,CAAC;AAIF,eAAO,MAAM,aAAa,4EAMzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,ocAqB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,6YAQ5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,8KAKhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,ozBAU/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yoBAOxC,CAAC;AAIF,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,+1CAQnC,CAAC;AAEF,eAAO,MAAM,UAAU,0IAUtB,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,u8BAuBnC,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,+EAK1B,CAAC;AAEF,eAAO,MAAM,cAAc,4FAO1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,mbAc5B,CAAC;AAwCF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,cAM/B,CAAC;AAEF,eAAO,MAAM,eAAe,cAiB3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,uPAU/B,CAAC;AAEF,eAAO,MAAM,aAAa,oiDA6CzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oLAa5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,kWAW7B,CAAC;AAIF,eAAO,MAAM,iBAAiB,cAQ5B,CAAC;AAEH,eAAO,MAAM,oBAAoB,cAK/B,CAAC;AAEH,eAAO,MAAM,gBAAgB,cAK3B,CAAC;AAEH,eAAO,MAAM,2BAA2B,cAKtC,CAAC;AAEH,eAAO,MAAM,sBAAsB,glBAQlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,2WAKtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,cAkBlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,cAiC9B,CAAC;AAEH,eAAO,MAAM,oBAAoB,0sDAQhC,CAAC;AAEF,eAAO,MAAM,cAAc,inDAK1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,qvDAQnC,CAAC;AAEF,eAAO,MAAM,0BAA0B,iwDAQtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,svDAQtC,CAAC;AAEF,eAAO,MAAM,mCAAmC,2xDAQ/C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,qxDAQ3C,CAAC;AAEF,eAAO,MAAM,yBAAyB,4uDAQrC,CAAC;AAEF,eAAO,MAAM,mCAAmC,yyDAQ/C,CAAC;AAMF,eAAO,MAAM,oCAAoC,4xDAQhD,CAAC;AAEF,eAAO,MAAM,oCAAoC,uyDAQhD,CAAC;AAEF;8EAC8E;AAC9E,eAAO,MAAM,uBAAuB,mGAMnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,2iBAQpC,CAAC;AAEF,eAAO,MAAM,qCAAqC,0PAOjD,CAAC;AAEF,eAAO,MAAM,qCAAqC,oOAOjD,CAAC;AAEF,eAAO,MAAM,cAAc,+dAK1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,yJAMrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,8mBAQpC,CAAC;AAIF,eAAO,MAAM,cAAc,uuCAyC1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,kkDAUjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,68CAStC,CAAC;AAIF,eAAO,MAAM,aAAa,4EAMzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,ocAqB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,6YAQ5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,8KAKhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,ozBAU/B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yoBAOxC,CAAC;AAIF,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,cAQ/B,CAAC;AAEH,eAAO,MAAM,UAAU,0IAUtB,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,uBAAuB,u8BAuBnC,CAAC"}
package/dist/queries.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NODES_AS_VARIANTS_QUERY = exports.SHOP_QUERY = exports.NODES_AS_PRODUCTS_QUERY = exports.BLOG_ARTICLE_BY_HANDLE_QUERY = exports.BLOG_ARTICLES_QUERY = exports.BLOG_BY_HANDLE_QUERY = exports.BLOGS_LIST_QUERY = exports.ARTICLE_FRAGMENT = exports.BLOG_FRAGMENT = exports.CUSTOMER_ORDER_BY_ID_QUERY = exports.CUSTOMER_ORDERS_QUERY = exports.ORDER_FRAGMENT = exports.CUSTOMER_UPDATE_MUTATION = exports.CUSTOMER_RECOVER_MUTATION = exports.CUSTOMER_QUERY = exports.CUSTOMER_ACCESS_TOKEN_DELETE_MUTATION = exports.CUSTOMER_ACCESS_TOKEN_CREATE_MUTATION = exports.CUSTOMER_CREATE_MUTATION = exports.SHOP_LOCALIZATION_QUERY = exports.CART_GIFT_CARD_CODES_REMOVE_MUTATION = exports.CART_GIFT_CARD_CODES_UPDATE_MUTATION = exports.CART_BUYER_IDENTITY_UPDATE_MUTATION = exports.CART_NOTE_UPDATE_MUTATION = exports.CART_DISCOUNT_CODES_UPDATE_MUTATION = exports.CART_LINES_REMOVE_MUTATION = exports.CART_LINES_UPDATE_MUTATION = exports.CART_LINES_ADD_MUTATION = exports.CART_GET_QUERY = exports.CART_CREATE_MUTATION = exports.SEARCH_PRODUCTS_QUERY = exports.COLLECTION_PRODUCTS_QUERY = exports.COLLECTION_BY_HANDLE_QUERY = exports.COLLECTIONS_LIST_QUERY = exports.PRODUCT_RECOMMENDATIONS_QUERY = exports.PRODUCT_BY_ID_QUERY = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCTS_LIST_QUERY = exports.CUSTOMER_FRAGMENT = exports.ADDRESS_FRAGMENT = exports.CART_FRAGMENT = exports.COLLECTION_FRAGMENT = exports.PRODUCT_FRAGMENT = exports.PRODUCT_CARD_FRAGMENT = exports.VARIANT_FRAGMENT = exports.IMAGE_FRAGMENT = exports.MONEY_FRAGMENT = void 0;
3
+ exports.NODES_AS_VARIANTS_QUERY = exports.SHOP_QUERY = exports.nodesAsProductsQuery = exports.BLOG_ARTICLE_BY_HANDLE_QUERY = exports.BLOG_ARTICLES_QUERY = exports.BLOG_BY_HANDLE_QUERY = exports.BLOGS_LIST_QUERY = exports.ARTICLE_FRAGMENT = exports.BLOG_FRAGMENT = exports.CUSTOMER_ORDER_BY_ID_QUERY = exports.CUSTOMER_ORDERS_QUERY = exports.ORDER_FRAGMENT = exports.CUSTOMER_UPDATE_MUTATION = exports.CUSTOMER_RECOVER_MUTATION = exports.CUSTOMER_QUERY = exports.CUSTOMER_ACCESS_TOKEN_DELETE_MUTATION = exports.CUSTOMER_ACCESS_TOKEN_CREATE_MUTATION = exports.CUSTOMER_CREATE_MUTATION = exports.SHOP_LOCALIZATION_QUERY = exports.CART_GIFT_CARD_CODES_REMOVE_MUTATION = exports.CART_GIFT_CARD_CODES_UPDATE_MUTATION = exports.CART_BUYER_IDENTITY_UPDATE_MUTATION = exports.CART_NOTE_UPDATE_MUTATION = exports.CART_ATTRIBUTES_UPDATE_MUTATION = exports.CART_DISCOUNT_CODES_UPDATE_MUTATION = exports.CART_LINES_REMOVE_MUTATION = exports.CART_LINES_UPDATE_MUTATION = exports.CART_LINES_ADD_MUTATION = exports.CART_GET_QUERY = exports.CART_CREATE_MUTATION = exports.searchProductsQuery = exports.collectionProductsQuery = exports.COLLECTION_BY_HANDLE_QUERY = exports.COLLECTIONS_LIST_QUERY = exports.productRecommendationsQuery = exports.productByIdQuery = exports.productByHandleQuery = exports.productsListQuery = exports.CUSTOMER_FRAGMENT = exports.ADDRESS_FRAGMENT = exports.CART_FRAGMENT = exports.COLLECTION_FRAGMENT = exports.productFragment = exports.productCardFragment = exports.VARIANT_FRAGMENT = exports.IMAGE_FRAGMENT = exports.MONEY_FRAGMENT = void 0;
4
+ const metafields_1 = require("./metafields");
4
5
  exports.MONEY_FRAGMENT = `
5
6
  fragment MoneyFields on MoneyV2 {
6
7
  amount
@@ -30,10 +31,16 @@ exports.VARIANT_FRAGMENT = `
30
31
  image { ...ImageFields }
31
32
  }
32
33
  `;
33
- /** Every product field except media, which is where the card and gallery selections diverge. */
34
- const PRODUCT_CORE_FRAGMENT = /* GraphQL */ `
34
+ /**
35
+ * Every product field except media, which is where the card and gallery selections diverge.
36
+ *
37
+ * Built on demand rather than held as a const: the metafield selection depends on what the app
38
+ * configured, which happens after this module is imported.
39
+ */
40
+ const productCoreFragment = () => /* GraphQL */ `
35
41
  ${exports.VARIANT_FRAGMENT}
36
42
  fragment ProductCoreFields on Product {
43
+ ${(0, metafields_1.metafieldSelection)()}
37
44
  id
38
45
  handle
39
46
  title
@@ -66,15 +73,16 @@ const PRODUCT_CORE_FRAGMENT = /* GraphQL */ `
66
73
  * reduced to content types, which is all a grid asks of it (the play badge), rather than every
67
74
  * product in the grid carrying video sources and preview images. `ProductFields` has both.
68
75
  */
69
- exports.PRODUCT_CARD_FRAGMENT = `
70
- ${PRODUCT_CORE_FRAGMENT}
76
+ const productCardFragment = () => /* GraphQL */ `
77
+ ${productCoreFragment()}
71
78
  fragment ProductCardFields on Product {
72
79
  ...ProductCoreFields
73
80
  media(first: 250) { nodes { mediaContentType } }
74
81
  }
75
82
  `;
76
- exports.PRODUCT_FRAGMENT = `
77
- ${PRODUCT_CORE_FRAGMENT}
83
+ exports.productCardFragment = productCardFragment;
84
+ const productFragment = () => /* GraphQL */ `
85
+ ${productCoreFragment()}
78
86
  fragment ProductFields on Product {
79
87
  ...ProductCoreFields
80
88
  # Videos are appended after images, so a small window misses them entirely.
@@ -91,6 +99,7 @@ exports.PRODUCT_FRAGMENT = `
91
99
  }
92
100
  }
93
101
  `;
102
+ exports.productFragment = productFragment;
94
103
  exports.COLLECTION_FRAGMENT = `
95
104
  ${exports.IMAGE_FRAGMENT}
96
105
  fragment CollectionFields on Collection {
@@ -110,6 +119,7 @@ exports.CART_FRAGMENT = `
110
119
  checkoutUrl
111
120
  totalQuantity
112
121
  note
122
+ attributes { key value }
113
123
  buyerIdentity { countryCode email phone }
114
124
  cost {
115
125
  subtotalAmount { ...MoneyFields }
@@ -174,33 +184,33 @@ exports.CUSTOMER_FRAGMENT = `
174
184
  }
175
185
  `;
176
186
  // Operations
177
- exports.PRODUCTS_LIST_QUERY = `
178
- ${exports.PRODUCT_FRAGMENT}
187
+ exports.productsListQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
188
+ ${(0, exports.productFragment)()}
179
189
  query Products($first: Int!, $after: String, $query: String, $sortKey: ProductSortKeys, $reverse: Boolean) {
180
190
  products(first: $first, after: $after, query: $query, sortKey: $sortKey, reverse: $reverse) {
181
191
  nodes { ...ProductFields }
182
192
  pageInfo { hasNextPage hasPreviousPage startCursor endCursor }
183
193
  }
184
194
  }
185
- `;
186
- exports.PRODUCT_BY_HANDLE_QUERY = `
187
- ${exports.PRODUCT_FRAGMENT}
195
+ `);
196
+ exports.productByHandleQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
197
+ ${(0, exports.productFragment)()}
188
198
  query ProductByHandle($handle: String!) {
189
199
  product(handle: $handle) { ...ProductFields }
190
200
  }
191
- `;
192
- exports.PRODUCT_BY_ID_QUERY = `
193
- ${exports.PRODUCT_FRAGMENT}
201
+ `);
202
+ exports.productByIdQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
203
+ ${(0, exports.productFragment)()}
194
204
  query ProductById($id: ID!) {
195
205
  product(id: $id) { ...ProductFields }
196
206
  }
197
- `;
198
- exports.PRODUCT_RECOMMENDATIONS_QUERY = `
199
- ${exports.PRODUCT_CARD_FRAGMENT}
207
+ `);
208
+ exports.productRecommendationsQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
209
+ ${(0, exports.productCardFragment)()}
200
210
  query Recommended($productId: ID!) {
201
211
  productRecommendations(productId: $productId) { ...ProductCardFields }
202
212
  }
203
- `;
213
+ `);
204
214
  exports.COLLECTIONS_LIST_QUERY = `
205
215
  ${exports.COLLECTION_FRAGMENT}
206
216
  query Collections($first: Int!, $after: String, $query: String, $sortKey: CollectionSortKeys, $reverse: Boolean) {
@@ -216,8 +226,8 @@ exports.COLLECTION_BY_HANDLE_QUERY = `
216
226
  collection(handle: $handle) { ...CollectionFields }
217
227
  }
218
228
  `;
219
- exports.COLLECTION_PRODUCTS_QUERY = `
220
- ${exports.PRODUCT_CARD_FRAGMENT}
229
+ exports.collectionProductsQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
230
+ ${(0, exports.productCardFragment)()}
221
231
  query CollectionProducts($handle: String!, $first: Int!, $after: String, $sortKey: ProductCollectionSortKeys, $reverse: Boolean, $filters: [ProductFilter!]) {
222
232
  collection(handle: $handle) {
223
233
  handle
@@ -234,9 +244,9 @@ exports.COLLECTION_PRODUCTS_QUERY = `
234
244
  }
235
245
  }
236
246
  }
237
- `;
238
- exports.SEARCH_PRODUCTS_QUERY = `
239
- ${exports.PRODUCT_CARD_FRAGMENT}
247
+ `);
248
+ exports.searchProductsQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
249
+ ${(0, exports.productCardFragment)()}
240
250
  query SearchProducts(
241
251
  $query: String!
242
252
  $first: Int!
@@ -268,7 +278,7 @@ exports.SEARCH_PRODUCTS_QUERY = `
268
278
  }
269
279
  }
270
280
  }
271
- `;
281
+ `);
272
282
  exports.CART_CREATE_MUTATION = `
273
283
  ${exports.CART_FRAGMENT}
274
284
  mutation CartCreate($input: CartInput) {
@@ -329,6 +339,15 @@ exports.CART_DISCOUNT_CODES_UPDATE_MUTATION = `
329
339
  * not a case that only shows up when clearing. Clearing is the empty string, which is also what a
330
340
  * cart with no note reads back as.
331
341
  */
342
+ exports.CART_ATTRIBUTES_UPDATE_MUTATION = `
343
+ ${exports.CART_FRAGMENT}
344
+ mutation CartAttributesUpdate($cartId: ID!, $attributes: [AttributeInput!]!) {
345
+ cartAttributesUpdate(cartId: $cartId, attributes: $attributes) {
346
+ cart { ...CartFields }
347
+ userErrors { field message code }
348
+ }
349
+ }
350
+ `;
332
351
  exports.CART_NOTE_UPDATE_MUTATION = `
333
352
  ${exports.CART_FRAGMENT}
334
353
  mutation CartNoteUpdate($cartId: ID!, $note: String!) {
@@ -555,15 +574,15 @@ exports.BLOG_ARTICLE_BY_HANDLE_QUERY = `
555
574
  `;
556
575
  // Wishlist — batch product hydration by ID
557
576
  /** Deleted or access-denied products come back as `null`, position-preserved. */
558
- exports.NODES_AS_PRODUCTS_QUERY = `
559
- ${exports.PRODUCT_CARD_FRAGMENT}
577
+ exports.nodesAsProductsQuery = (0, metafields_1.memoizeQuery)(() => /* GraphQL */ `
578
+ ${(0, exports.productCardFragment)()}
560
579
  query WishlistNodes($ids: [ID!]!) {
561
580
  nodes(ids: $ids) {
562
581
  __typename
563
582
  ... on Product { ...ProductCardFields }
564
583
  }
565
584
  }
566
- `;
585
+ `);
567
586
  exports.SHOP_QUERY = `
568
587
  query ShopInfo {
569
588
  shop {
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAiB;;;;;CAK3C,CAAC;AAEW,QAAA,cAAc,GAAiB;;;;;;;CAO3C,CAAC;AAEW,QAAA,gBAAgB,GAAiB;IAC1C,sBAAc;IACd,sBAAc;;;;;;;;;;;;CAYjB,CAAC;AAEF,gGAAgG;AAChG,MAAM,qBAAqB,GAAG,aAAa,CAAC;IACxC,wBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BnB,CAAC;AAEF;;;;GAIG;AACU,QAAA,qBAAqB,GAAiB;IAC/C,qBAAqB;;;;;CAKxB,CAAC;AAEW,QAAA,gBAAgB,GAAiB;IAC1C,qBAAqB;;;;;;;;;;;;;;;;CAgBxB,CAAC;AAEW,QAAA,mBAAmB,GAAiB;IAC7C,sBAAc;;;;;;;;;CASjB,CAAC;AAEW,QAAA,aAAa,GAAiB;IACvC,wBAAgB;IAChB,sBAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CjB,CAAC;AAEW,QAAA,gBAAgB,GAAiB;;;;;;;;;;;;;CAa7C,CAAC;AAEW,QAAA,iBAAiB,GAAiB;IAC3C,wBAAgB;;;;;;;;;;CAUnB,CAAC;AAEF,aAAa;AAEA,QAAA,mBAAmB,GAAiB;IAC7C,wBAAgB;;;;;;;CAOnB,CAAC;AAEW,QAAA,uBAAuB,GAAiB;IACjD,wBAAgB;;;;CAInB,CAAC;AAEW,QAAA,mBAAmB,GAAiB;IAC7C,wBAAgB;;;;CAInB,CAAC;AAEW,QAAA,6BAA6B,GAAiB;IACvD,6BAAqB;;;;CAIxB,CAAC;AAEW,QAAA,sBAAsB,GAAiB;IAChD,2BAAmB;;;;;;;CAOtB,CAAC;AAEW,QAAA,0BAA0B,GAAiB;IACpD,2BAAmB;;;;CAItB,CAAC;AAEW,QAAA,yBAAyB,GAAiB;IACnD,6BAAqB;;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEW,QAAA,qBAAqB,GAAiB;IAC/C,6BAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCxB,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAC9C,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,cAAc,GAAiB;IACxC,qBAAa;;;;CAIhB,CAAC;AAEW,QAAA,uBAAuB,GAAiB;IACjD,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,0BAA0B,GAAiB;IACpD,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,0BAA0B,GAAiB;IACpD,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,mCAAmC,GAAiB;IAC7D,qBAAa;;;;;;;CAOhB,CAAC;AAEF;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAiB;IACnD,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,mCAAmC,GAAiB;IAC7D,qBAAa;;;;;;;CAOhB,CAAC;AAEF,6EAA6E;AAC7E,2EAA2E;AAC3E,wEAAwE;AACxE,0CAA0C;AAC7B,QAAA,oCAAoC,GAAiB;IAC9D,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,oCAAoC,GAAiB;IAC9D,qBAAa;;;;;;;CAOhB,CAAC;AAEF;8EAC8E;AACjE,QAAA,uBAAuB,GAAiB;;;;;;CAMpD,CAAC;AAEW,QAAA,wBAAwB,GAAiB;IAClD,yBAAiB;;;;;;;CAOpB,CAAC;AAEW,QAAA,qCAAqC,GAAiB;;;;;;;CAOlE,CAAC;AAEW,QAAA,qCAAqC,GAAiB;;;;;;;CAOlE,CAAC;AAEW,QAAA,cAAc,GAAiB;IACxC,yBAAiB;;;;CAIpB,CAAC;AAEW,QAAA,yBAAyB,GAAiB;;;;;;CAMtD,CAAC;AAEW,QAAA,wBAAwB,GAAiB;IAClD,yBAAiB;;;;;;;CAOpB,CAAC;AAEF,SAAS;AAEI,QAAA,cAAc,GAAiB;IACxC,sBAAc;IACd,sBAAc;IACd,wBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnB,CAAC;AAEW,QAAA,qBAAqB,GAAiB;IAC/C,sBAAc;;;;;;;;;CASjB,CAAC;AAEW,QAAA,0BAA0B,GAAiB;IACpD,sBAAc;;;;;;;;CAQjB,CAAC;AAEF,mBAAmB;AAEN,QAAA,aAAa,GAAiB;;;;;;CAM1C,CAAC;AAEW,QAAA,gBAAgB,GAAiB;IAC1C,sBAAc;IACd,qBAAa;;;;;;;;;;;;;;;;;;;CAmBhB,CAAC;AAEW,QAAA,gBAAgB,GAAiB;IAC1C,qBAAa;;;;;;;CAOhB,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAC9C,qBAAa;;;;CAIhB,CAAC;AAEW,QAAA,mBAAmB,GAAiB;IAC7C,wBAAgB;;;;;;;;;CASnB,CAAC;AAEW,QAAA,4BAA4B,GAAiB;IACtD,wBAAgB;;;;;;CAMnB,CAAC;AAEF,2CAA2C;AAE3C,iFAAiF;AACpE,QAAA,uBAAuB,GAAiB;IACjD,6BAAqB;;;;;;;CAOxB,CAAC;AAEW,QAAA,UAAU,GAAiB;;;;;;;;;;CAUvC,CAAC;AAEF,gGAAgG;AACnF,QAAA,uBAAuB,GAAiB;IACjD,wBAAgB;;;;;;;;;;;;;;;;;;;;;;CAsBnB,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- import type { AlertMessageKey, AlertMessages, Cart, CartLineAttribute, CartLineGuard, CartLineInput, CartPolicy, CartWriteResult, Customer, MessageResolver, Product, ShopifyConfig, WishlistItem, WishlistStorageAdapter } from "../types";
2
+ import type { AlertMessageKey, AlertMessages, Cart, CartAttribute, CartLineAttribute, CartLineGuard, CartLineInput, CartPolicy, CartWriteResult, Customer, MessageResolver, Product, ShopifyConfig, WishlistItem, WishlistStorageAdapter } from "../types";
3
3
  interface CartState {
4
4
  cart: Cart | null;
5
5
  loading: boolean;
@@ -170,8 +170,18 @@ export interface ShopifyProviderProps {
170
170
  translate?: MessageResolver;
171
171
  /** Cart rules. Live-updatable for the same reason. */
172
172
  cartPolicy?: CartPolicy;
173
+ /**
174
+ * Attributes stamped on every cart this provider creates, and backfilled onto a stored cart that
175
+ * predates them. They reach the order as its `customAttributes`.
176
+ *
177
+ * On the provider because the cart is created here — during hydration, on the first add, and on
178
+ * reset — with no screen involved, so a caller has nowhere else to set them. A host that needs
179
+ * the order to identify the app it came from (an app-only discount function, an order webhook)
180
+ * sets it here or the cart goes out anonymous.
181
+ */
182
+ cartAttributes?: CartAttribute[];
173
183
  }
174
- export declare function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, }: ShopifyProviderProps): import("react").JSX.Element;
184
+ export declare function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, }: ShopifyProviderProps): import("react").JSX.Element;
175
185
  export declare function useShopify(): ShopifyContextType;
176
186
  export declare function useCart(): CartState;
177
187
  export declare function useWishlist(): WishlistState;
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyProvider.d.ts","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyProvider.d.ts","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ function defaultStorage() {
65
65
  }
66
66
  return null;
67
67
  }
68
- function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, }) {
68
+ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, }) {
69
69
  const [ready, setReady] = (0, react_1.useState)(false);
70
70
  const [error, setError] = (0, react_1.useState)(null);
71
71
  const [cart, setCart] = (0, react_1.useState)(null);
@@ -230,10 +230,10 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
230
230
  next = await shopify_1.shopify.cart.get(savedId);
231
231
  // A stored cart predates this session, so it may have been created in another market.
232
232
  if (next)
233
- next = await pinMarket(next);
233
+ next = await applyCartAttributes(await pinMarket(next));
234
234
  if (!next) {
235
235
  // A cart created now is already in the configured market — `@inContext` saw to that.
236
- next = await shopify_1.shopify.cart.create();
236
+ next = await shopify_1.shopify.cart.create({ attributes: cartAttrsRef.current });
237
237
  if (s)
238
238
  await Promise.resolve(s.setItem(CART_STORAGE_KEY, next.id));
239
239
  }
@@ -315,6 +315,38 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
315
315
  *
316
316
  * Failure is swallowed: a cart in the wrong currency still beats no cart.
317
317
  */
318
+ /**
319
+ * In a ref so the cart callbacks keep their identity when the host passes a new array each
320
+ * render — the same reason `cartGuard` is held this way.
321
+ */
322
+ const cartAttrsRef = (0, react_1.useRef)(cartAttributes);
323
+ cartAttrsRef.current = cartAttributes;
324
+ /**
325
+ * Backfills the configured attributes onto a cart that is missing them.
326
+ *
327
+ * A stored cart outlives the build that made it, so a shopper who had a cart before these were
328
+ * configured would otherwise keep an attribute-less cart indefinitely — and cart ids persist for
329
+ * weeks. Existing pairs win: only keys the cart does not already carry are added, so a value the
330
+ * cart set for itself is never overwritten by a default.
331
+ *
332
+ * Failure is swallowed, as in `pinMarket`: a cart missing an attribute still beats no cart.
333
+ */
334
+ const applyCartAttributes = (0, react_1.useCallback)(async (next) => {
335
+ var _a, _b;
336
+ const wanted = cartAttrsRef.current;
337
+ if (!(wanted === null || wanted === void 0 ? void 0 : wanted.length))
338
+ return next;
339
+ const have = new Set(((_a = next.attributes) !== null && _a !== void 0 ? _a : []).map((a) => a.key));
340
+ const missing = wanted.filter((a) => !have.has(a.key));
341
+ if (!missing.length)
342
+ return next;
343
+ try {
344
+ return await shopify_1.shopify.cart.updateAttributes(next.id, [...((_b = next.attributes) !== null && _b !== void 0 ? _b : []), ...missing]);
345
+ }
346
+ catch {
347
+ return next;
348
+ }
349
+ }, []);
318
350
  const pinMarket = (0, react_1.useCallback)(async (next) => {
319
351
  var _a, _b;
320
352
  const country = config.country;
@@ -345,7 +377,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
345
377
  const ensureCartId = (0, react_1.useCallback)(async () => {
346
378
  if (cart === null || cart === void 0 ? void 0 : cart.id)
347
379
  return cart.id;
348
- const created = await shopify_1.shopify.cart.create();
380
+ const created = await shopify_1.shopify.cart.create({ attributes: cartAttrsRef.current });
349
381
  await persistCart(created);
350
382
  return created.id;
351
383
  }, [cart, persistCart]);
@@ -598,13 +630,13 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
598
630
  const cartAdopt = (0, react_1.useCallback)(async (cartId) => {
599
631
  // Adopted from the shopper's other device or the web store, so its market is not ours to assume.
600
632
  const fetched = await shopify_1.shopify.cart.get(cartId);
601
- const next = fetched ? await pinMarket(fetched) : null;
633
+ const next = fetched ? await applyCartAttributes(await pinMarket(fetched)) : null;
602
634
  if (next)
603
635
  await persistCart(next);
604
636
  return next;
605
- }, [persistCart, pinMarket]);
637
+ }, [persistCart, pinMarket, applyCartAttributes]);
606
638
  const cartReset = (0, react_1.useCallback)(async () => {
607
- const created = await shopify_1.shopify.cart.create();
639
+ const created = await shopify_1.shopify.cart.create({ attributes: cartAttrsRef.current });
608
640
  await persistCart(created);
609
641
  }, [persistCart]);
610
642
  // The wishlist module owns storage and hydration; these just wrap the mutating methods and