diff --git a/.changeset/paragraph-text-align.md b/.changeset/paragraph-text-align.md new file mode 100644 index 0000000000..10c551b42b --- /dev/null +++ b/.changeset/paragraph-text-align.md @@ -0,0 +1,5 @@ +--- +'@shopify/ui-extensions': patch +--- + +Add `textAlign` prop to the checkout `Paragraph` component, supporting `'start'`, `'end'`, `'center'`, and `'auto'` values. diff --git a/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data.json b/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data.json index 7ce923ca3c..727ac9ef54 100644 --- a/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data.json +++ b/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data.json @@ -567,7 +567,7 @@ "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true } ], @@ -2319,7 +2319,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." } ], "value": "export interface Docs_Standard_AnalyticsApi\n extends Pick {}" @@ -2327,25 +2327,24 @@ "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2389,10 +2388,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" } } } @@ -2552,7 +2551,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -2567,7 +2566,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" } } }, @@ -2587,7 +2586,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." } ], @@ -2661,7 +2660,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -2676,7 +2675,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -2837,7 +2836,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -2852,7 +2851,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -2975,7 +2974,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -2990,7 +2989,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" } } }, @@ -3244,7 +3243,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -3297,7 +3296,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3587,7 +3586,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -3640,7 +3639,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4133,11 +4132,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4201,7 +4200,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -4212,7 +4211,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -4489,11 +4488,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4557,7 +4556,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -4568,7 +4567,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -4776,11 +4775,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4844,7 +4843,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -4855,7 +4854,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -5171,7 +5170,7 @@ "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." } ], "value": "export interface Docs_Standard_CartInstructionsApi\n extends Pick {}" @@ -5871,7 +5870,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -5886,7 +5885,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -6507,7 +6506,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -6522,7 +6521,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -7033,7 +7032,7 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_CartLinesApi\n extends Pick {}" @@ -7142,7 +7141,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -7157,7 +7156,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLine": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -7891,7 +7890,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -7901,7 +7900,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } }, @@ -8028,7 +8027,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -8043,7 +8042,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLine": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -8777,7 +8776,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -8787,7 +8786,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } }, @@ -8807,7 +8806,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], "value": "export interface Docs_CartLineItem_CartLinesApi\n extends Pick {}" @@ -8957,7 +8956,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -8972,7 +8971,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -9593,7 +9592,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -9608,7 +9607,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -10229,7 +10228,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -10244,7 +10243,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -10804,7 +10803,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." } ], "value": "export interface Docs_Standard_CheckoutTokenApi\n extends Pick {}" @@ -10968,17 +10967,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -11367,7 +11366,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/docs.ts", @@ -11486,10 +11485,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -11704,31 +11703,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -11917,31 +11916,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -12131,7 +12130,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." } ], "value": "export interface Docs_Standard_DeliveryApi\n extends Pick {}" @@ -13958,7 +13957,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -13973,7 +13972,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -15261,7 +15260,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -15275,10 +15274,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -18606,10 +18605,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -18728,17 +18727,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -19907,7 +19906,7 @@ "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_DiscountsApi\n extends Pick {}" @@ -20387,7 +20386,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." } ], "value": "export interface Docs_Standard_ExtensionMetaApi\n extends Pick {}" @@ -20395,8 +20394,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20422,7 +20420,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20470,7 +20468,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -20486,13 +20484,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "SubscribableSignalLike": { @@ -20543,8 +20541,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20580,8 +20577,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20607,7 +20603,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20655,7 +20651,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -20671,13 +20667,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "SubscribableSignalLike": { @@ -20728,8 +20724,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20765,8 +20760,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20792,7 +20786,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -20840,7 +20834,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -20856,13 +20850,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "SubscribableSignalLike": { @@ -20913,8 +20907,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -21013,8 +21006,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -21213,7 +21205,7 @@ "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_GiftCardsApi\n extends Pick {}" @@ -21307,7 +21299,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -21317,7 +21309,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } }, @@ -21522,7 +21514,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -21532,7 +21524,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } } @@ -21588,14 +21580,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/docs.ts", "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." } ], "value": "export interface Docs_Standard_LocalizationApi\n extends Pick {}" @@ -21603,8 +21595,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -21640,23 +21631,21 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -21684,18 +21673,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -22120,8 +22109,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" } @@ -22402,7 +22390,7 @@ "UseLocalizedFieldGeneratedType": { "filePath": "src/surfaces/checkout/preact/localized-fields.ts", "name": "UseLocalizedFieldGeneratedType", - "description": "Returns the current localized field or undefined for the specified localized field key and re-renders your component if the value changes.", + "description": "Returns the current localized field or undefined for the specified localized field key and re-renders your component if the value changes.\n\nReturns `undefined` when no field is configured for the buyer's country.", "isPublicDocs": true, "params": [ { @@ -22872,7 +22860,7 @@ "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_MetafieldsApi\n extends Pick {}" @@ -23011,7 +22999,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -23021,7 +23009,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } }, @@ -23178,7 +23166,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -23188,7 +23176,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } } @@ -23344,7 +23332,7 @@ "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_NoteApi\n extends Pick {}" @@ -23431,7 +23419,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -23441,7 +23429,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } }, @@ -23546,7 +23534,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -23556,7 +23544,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } } } @@ -23686,7 +23674,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -23697,7 +23685,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -23767,14 +23755,14 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/docs.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." } ], "value": "export interface Docs_Standard_PaymentOptionsApi\n extends Pick<\n StandardApi,\n 'availablePaymentOptions' | 'selectedPaymentOptions'\n > {}" @@ -24038,7 +24026,7 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." } ], "value": "export interface Docs_Standard_QueryApi extends Pick {}" @@ -24047,7 +24035,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -24157,7 +24145,7 @@ "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." } ], "value": "export interface Docs_Standard_SessionTokenApi\n extends Pick {}" @@ -24165,8 +24153,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24202,8 +24189,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24467,7 +24453,7 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." } ], "value": "export interface Docs_Standard_ShopApi extends Pick {}" @@ -24475,8 +24461,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24516,11 +24501,11 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" } } }, @@ -24546,8 +24531,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24587,11 +24571,11 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" } } } @@ -24647,7 +24631,7 @@ "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." } ], "value": "export interface Docs_Standard_StorageApi\n extends Pick {}" @@ -24655,22 +24639,21 @@ "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24680,7 +24663,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" } } }, @@ -24706,22 +24689,21 @@ "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -24731,7 +24713,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" } } } @@ -25350,7 +25332,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -25358,42 +25340,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -25406,7 +25388,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -25476,7 +25458,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -25491,7 +25473,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26369,7 +26351,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26379,7 +26361,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26571,7 +26553,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26581,7 +26563,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26717,7 +26699,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26727,7 +26709,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26811,7 +26793,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -26821,7 +26803,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -27408,7 +27390,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27422,7 +27404,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27443,7 +27425,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27480,7 +27462,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27501,7 +27483,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27522,7 +27504,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27530,7 +27512,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -27549,14 +27531,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27570,7 +27552,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27592,21 +27574,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27628,14 +27610,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27657,30 +27639,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -27724,10 +27705,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -27904,10 +27885,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -28216,7 +28197,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -28269,7 +28250,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "StoreCreditAccount": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -28536,11 +28517,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -28604,7 +28585,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -28615,7 +28596,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -28843,17 +28824,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -28942,31 +28923,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29579,8 +29560,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29606,7 +29586,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29654,7 +29634,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -29670,13 +29650,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -29689,8 +29669,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29705,8 +29684,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29742,8 +29720,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -29918,15 +29895,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -29954,18 +29930,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -30119,7 +30095,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -30171,8 +30147,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -30196,8 +30171,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -30237,31 +30211,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -30271,7 +30244,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -30299,10 +30272,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" }, "RedeemableApi": { "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", @@ -30579,10 +30552,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" }, "ShippingOptionItemApi": { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -30595,7 +30568,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -30609,10 +30582,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" }, "ShippingOptionItemRenderMode": { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -30761,7 +30734,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -30772,7 +30745,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" }, "AllowedComponents": { "filePath": "src/surfaces/checkout/shared.ts", @@ -30792,17 +30765,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" }, "AnyThankYouComponent": { "filePath": "src/surfaces/checkout/shared.ts", @@ -31468,7 +31441,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -31476,42 +31449,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -31524,7 +31497,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -31594,7 +31567,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -31609,7 +31582,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32487,7 +32460,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32497,7 +32470,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32689,7 +32662,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32699,7 +32672,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32835,7 +32808,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32845,7 +32818,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32929,7 +32902,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -32939,7 +32912,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -33526,7 +33499,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33540,7 +33513,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33561,7 +33534,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33598,7 +33571,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33619,7 +33592,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33640,7 +33613,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33648,7 +33621,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -33667,14 +33640,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33688,7 +33661,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33710,21 +33683,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33746,14 +33719,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33775,30 +33748,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -33842,10 +33814,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -34022,10 +33994,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -34334,7 +34306,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -34387,7 +34359,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "StoreCreditAccount": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -34654,11 +34626,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -34722,7 +34694,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -34733,7 +34705,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -34961,17 +34933,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35060,31 +35032,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35697,8 +35669,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35724,7 +35695,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35772,7 +35743,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -35788,13 +35759,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -35807,8 +35778,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35823,8 +35793,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -35860,8 +35829,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -36036,15 +36004,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -36072,18 +36039,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -36237,7 +36204,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -36289,8 +36256,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -36314,8 +36280,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -36355,31 +36320,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -36389,7 +36353,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -36417,10 +36381,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" }, "RedeemableApi": { "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", @@ -36697,10 +36661,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" }, "ShippingOptionItemApi": { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -36713,7 +36677,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -36727,10 +36691,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" }, "ShippingOptionItemRenderMode": { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -36879,7 +36843,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -36890,7 +36854,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" }, "AllowedComponents": { "filePath": "src/surfaces/checkout/shared.ts", @@ -36910,17 +36874,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" }, "AnyThankYouComponent": { "filePath": "src/surfaces/checkout/shared.ts", @@ -37758,7 +37722,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -37772,7 +37736,7 @@ "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -37823,30 +37787,29 @@ ] } ], - "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" + "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -37890,10 +37853,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "AppMetafieldEntry": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38027,7 +37990,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -38042,7 +38005,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "MailingAddress": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -38387,7 +38350,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -38400,8 +38363,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38416,8 +38378,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38453,8 +38414,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -38618,7 +38578,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -38646,8 +38606,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38671,8 +38630,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38712,31 +38670,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38746,7 +38703,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -38921,10 +38878,10 @@ "syntaxKind": "PropertySignature", "name": "suggestions", "value": "AddressAutocompleteSuggestion[]", - "description": "An array of address autocomplete suggestions to show to the buyer.\n\n> Note: Only the first five suggestions will be displayed to the buyer." + "description": "An array of address autocomplete suggestions to show to the buyer. Checkout displays up to five address suggestions. Return no more than five. Additional suggestions are ignored." } ], - "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n *\n * > Note: Only the first five suggestions will be displayed to the buyer.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" + "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n * Checkout displays up to five address suggestions. Return no more\n * than five. Additional suggestions are ignored.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" }, "AddressAutocompleteSuggestion": { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", @@ -39289,7 +39246,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -39303,7 +39260,7 @@ "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -39354,30 +39311,29 @@ ] } ], - "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" + "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -39421,10 +39377,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "AppMetafieldEntry": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -39558,7 +39514,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -39573,7 +39529,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "MailingAddress": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -39918,7 +39874,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -39931,8 +39887,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -39947,8 +39902,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -39984,8 +39938,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -40149,7 +40102,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -40177,8 +40130,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -40202,8 +40154,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -40243,31 +40194,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -40277,7 +40227,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -40355,7 +40305,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -40363,42 +40313,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -40411,7 +40361,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -40481,7 +40431,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -40496,7 +40446,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41374,7 +41324,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41384,7 +41334,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41576,7 +41526,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41586,7 +41536,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41722,7 +41672,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41732,7 +41682,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41816,7 +41766,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -41826,7 +41776,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -42420,7 +42370,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42434,7 +42384,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42455,7 +42405,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42492,7 +42442,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42513,7 +42463,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42534,7 +42484,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42542,7 +42492,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -42561,14 +42511,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42582,7 +42532,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42604,21 +42554,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42640,14 +42590,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42669,30 +42619,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -42736,10 +42685,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -42958,10 +42907,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -43183,7 +43132,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -43198,7 +43147,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -43553,7 +43502,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -43606,7 +43555,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -43897,11 +43846,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -43965,7 +43914,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -43976,7 +43925,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -44204,17 +44153,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -44303,31 +44252,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45038,8 +44987,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45065,7 +45013,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45113,7 +45061,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -45129,13 +45077,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -45148,8 +45096,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45164,8 +45111,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45201,8 +45147,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -45781,15 +45726,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -45817,18 +45761,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -45982,7 +45926,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -46034,8 +45978,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -46296,8 +46239,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -46337,31 +46279,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -46371,7 +46312,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -46449,7 +46390,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -46457,42 +46398,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -46505,7 +46446,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -46575,7 +46516,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -46590,7 +46531,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47468,7 +47409,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47478,7 +47419,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47670,7 +47611,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47680,7 +47621,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47816,7 +47757,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47826,7 +47767,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47910,7 +47851,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -47920,7 +47861,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -48514,7 +48455,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48528,7 +48469,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48549,7 +48490,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48586,7 +48527,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48607,7 +48548,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48628,7 +48569,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48636,7 +48577,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -48655,14 +48596,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48676,7 +48617,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48698,21 +48639,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48734,14 +48675,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48763,30 +48704,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -48830,10 +48770,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -49052,10 +48992,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -49277,7 +49217,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -49292,7 +49232,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -49647,7 +49587,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -49700,7 +49640,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -49991,11 +49931,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -50059,7 +49999,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -50070,7 +50010,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -50298,17 +50238,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -50397,31 +50337,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51132,8 +51072,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51159,7 +51098,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51207,7 +51146,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -51223,13 +51162,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -51242,8 +51181,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51258,8 +51196,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51295,8 +51232,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -51875,15 +51811,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -51911,18 +51846,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -52076,7 +52011,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -52128,8 +52063,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -52390,8 +52324,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -52431,31 +52364,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -52465,7 +52397,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -52543,10 +52475,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -52693,7 +52625,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -52708,7 +52640,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -53219,7 +53151,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -53227,42 +53159,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -53275,7 +53207,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -53345,7 +53277,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -53360,7 +53292,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54238,7 +54170,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54248,7 +54180,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54440,7 +54372,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54450,7 +54382,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54586,7 +54518,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54596,7 +54528,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54680,7 +54612,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -54690,7 +54622,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -55284,7 +55216,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55298,7 +55230,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55319,7 +55251,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55356,7 +55288,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55377,7 +55309,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55398,7 +55330,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55406,7 +55338,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -55425,14 +55357,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55446,7 +55378,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55468,21 +55400,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55504,14 +55436,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55533,30 +55465,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55600,10 +55531,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -55822,10 +55753,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -56047,7 +55978,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -56062,7 +55993,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -56417,7 +56348,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -56470,7 +56401,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -56761,11 +56692,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -56829,7 +56760,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -56840,7 +56771,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -57068,17 +56999,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -57167,31 +57098,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -57902,8 +57833,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -57929,7 +57859,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -57977,7 +57907,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -57993,13 +57923,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -58012,8 +57942,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -58028,8 +57957,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -58065,8 +57993,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -58645,15 +58572,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -58681,18 +58607,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -58846,7 +58772,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -58898,8 +58824,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -59160,8 +59085,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -59201,31 +59125,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -59235,7 +59158,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -59313,7 +59236,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -59321,42 +59244,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -59369,7 +59292,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -59439,7 +59362,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -59454,7 +59377,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60332,7 +60255,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60342,7 +60265,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60534,7 +60457,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60544,7 +60467,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60680,7 +60603,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60690,7 +60613,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60774,7 +60697,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -60784,7 +60707,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -61378,7 +61301,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61392,7 +61315,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61413,7 +61336,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61450,7 +61373,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61471,7 +61394,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61492,7 +61415,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61500,7 +61423,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -61519,14 +61442,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61540,7 +61463,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61562,21 +61485,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61598,14 +61521,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61627,30 +61550,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -61694,10 +61616,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -61916,10 +61838,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -62141,7 +62063,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -62156,7 +62078,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -62511,7 +62433,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -62564,7 +62486,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -62855,11 +62777,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -62923,7 +62845,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -62934,7 +62856,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -63162,17 +63084,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -63261,31 +63183,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -63996,8 +63918,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -64023,7 +63944,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -64071,7 +63992,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -64087,13 +64008,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -64106,8 +64027,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -64122,8 +64042,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -64159,8 +64078,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -64739,15 +64657,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -64775,18 +64692,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -64940,7 +64857,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -64992,8 +64909,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -65254,8 +65170,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -65295,31 +65210,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -65329,7 +65243,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -65407,7 +65321,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -65415,42 +65329,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -65463,7 +65377,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -65533,7 +65447,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -65548,7 +65462,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66426,7 +66340,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66436,7 +66350,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66628,7 +66542,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66638,7 +66552,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66774,7 +66688,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66784,7 +66698,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66868,7 +66782,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -66878,7 +66792,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -67472,7 +67386,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67486,7 +67400,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67507,7 +67421,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67544,7 +67458,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67565,7 +67479,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67586,7 +67500,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67594,7 +67508,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -67613,14 +67527,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67634,7 +67548,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67656,21 +67570,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67692,14 +67606,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67721,30 +67635,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -67788,10 +67701,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -68010,10 +67923,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -68235,7 +68148,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -68250,7 +68163,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -68605,7 +68518,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -68658,7 +68571,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -68949,11 +68862,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -69017,7 +68930,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -69028,7 +68941,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -69256,17 +69169,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -69355,31 +69268,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70090,8 +70003,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70117,7 +70029,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70165,7 +70077,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -70181,13 +70093,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -70200,8 +70112,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70216,8 +70127,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70253,8 +70163,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -70833,15 +70742,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -70869,18 +70777,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -71034,7 +70942,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -71086,8 +70994,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -71348,8 +71255,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -71389,31 +71295,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -71423,7 +71328,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -71501,7 +71406,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -71509,42 +71414,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -71557,7 +71462,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -71627,7 +71532,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -71642,7 +71547,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72520,7 +72425,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72530,7 +72435,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72722,7 +72627,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72732,7 +72637,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72868,7 +72773,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72878,7 +72783,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72962,7 +72867,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -72972,7 +72877,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -73566,7 +73471,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73580,7 +73485,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73601,7 +73506,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73638,7 +73543,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73659,7 +73564,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73680,7 +73585,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73688,7 +73593,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -73707,14 +73612,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73728,7 +73633,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73750,21 +73655,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73786,14 +73691,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73815,30 +73720,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -73882,10 +73786,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -74104,10 +74008,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -74329,7 +74233,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -74344,7 +74248,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -74699,7 +74603,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -74752,7 +74656,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -75043,11 +74947,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -75111,7 +75015,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -75122,7 +75026,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -75350,17 +75254,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -75449,31 +75353,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76184,8 +76088,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76211,7 +76114,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76259,7 +76162,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -76275,13 +76178,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -76294,8 +76197,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76310,8 +76212,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76347,8 +76248,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -76927,15 +76827,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -76963,18 +76862,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -77128,7 +77027,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -77180,8 +77079,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -77442,8 +77340,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -77483,31 +77380,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -77517,7 +77413,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -77595,7 +77491,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -77603,42 +77499,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -77651,7 +77547,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -77721,7 +77617,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -77736,7 +77632,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78614,7 +78510,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78624,7 +78520,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78816,7 +78712,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78826,7 +78722,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78962,7 +78858,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -78972,7 +78868,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -79056,7 +78952,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -79066,7 +78962,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -79660,7 +79556,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79674,7 +79570,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79695,7 +79591,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79732,7 +79628,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79753,7 +79649,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79774,7 +79670,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79782,7 +79678,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -79801,14 +79697,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79822,7 +79718,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79844,21 +79740,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79880,14 +79776,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79909,30 +79805,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -79976,10 +79871,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -80198,10 +80093,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -80423,7 +80318,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -80438,7 +80333,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -80793,7 +80688,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -80846,7 +80741,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -81137,11 +81032,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -81205,7 +81100,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -81216,7 +81111,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -81444,17 +81339,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -81543,31 +81438,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -82278,8 +82173,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -82305,7 +82199,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -82353,7 +82247,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -82369,13 +82263,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -82388,8 +82282,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -82404,8 +82297,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -82441,8 +82333,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -83021,15 +82912,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -83057,18 +82947,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -83222,7 +83112,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -83274,8 +83164,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -83536,8 +83425,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -83577,31 +83465,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -83611,7 +83498,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -83689,7 +83576,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -83697,42 +83584,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -83745,7 +83632,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -83815,7 +83702,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -83830,7 +83717,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -84708,7 +84595,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -84718,7 +84605,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -84910,7 +84797,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -84920,7 +84807,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -85056,7 +84943,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -85066,7 +84953,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -85150,7 +85037,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -85160,7 +85047,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -85754,7 +85641,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85768,7 +85655,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85789,7 +85676,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85826,7 +85713,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85847,7 +85734,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85868,7 +85755,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85876,7 +85763,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -85895,14 +85782,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85916,7 +85803,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85938,21 +85825,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -85974,14 +85861,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -86003,30 +85890,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -86070,10 +85956,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -86292,10 +86178,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -86517,7 +86403,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -86532,7 +86418,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -86887,7 +86773,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -86940,7 +86826,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -87231,11 +87117,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -87299,7 +87185,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -87310,7 +87196,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -87538,17 +87424,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -87637,31 +87523,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -88372,8 +88258,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -88399,7 +88284,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -88447,7 +88332,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -88463,13 +88348,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -88482,8 +88367,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -88498,8 +88382,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -88535,8 +88418,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -89115,15 +88997,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -89151,18 +89032,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -89316,7 +89197,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -89368,8 +89249,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -89630,8 +89510,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -89671,31 +89550,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -89705,7 +89583,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -89783,7 +89661,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -89791,42 +89669,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -89839,7 +89717,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -89909,7 +89787,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -89924,7 +89802,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -90802,7 +90680,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -90812,7 +90690,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91004,7 +90882,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91014,7 +90892,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91150,7 +91028,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91160,7 +91038,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91244,7 +91122,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91254,7 +91132,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -91848,7 +91726,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91862,7 +91740,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91883,7 +91761,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91920,7 +91798,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91941,7 +91819,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91962,7 +91840,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -91970,7 +91848,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -91989,14 +91867,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92010,7 +91888,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92032,21 +91910,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92068,14 +91946,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92097,30 +91975,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92164,10 +92041,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -92386,10 +92263,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92611,7 +92488,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -92626,7 +92503,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92981,7 +92858,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -93034,7 +92911,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -93325,11 +93202,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -93393,7 +93270,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -93404,7 +93281,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -93632,17 +93509,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -93731,31 +93608,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -94466,8 +94343,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -94493,7 +94369,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -94541,7 +94417,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -94557,13 +94433,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -94576,8 +94452,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -94592,8 +94467,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -94629,8 +94503,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -95209,15 +95082,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -95245,18 +95117,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -95410,7 +95282,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -95462,8 +95334,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -95724,8 +95595,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -95765,31 +95635,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -95799,7 +95668,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -95877,7 +95746,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -95885,42 +95754,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -95933,7 +95802,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -96003,7 +95872,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -96018,7 +95887,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -96896,7 +96765,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -96906,7 +96775,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97098,7 +96967,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97108,7 +96977,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97244,7 +97113,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97254,7 +97123,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97338,7 +97207,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97348,7 +97217,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -97942,7 +97811,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -97956,7 +97825,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -97977,7 +97846,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98014,7 +97883,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98035,7 +97904,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98056,7 +97925,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98064,7 +97933,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -98083,14 +97952,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98104,7 +97973,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98126,21 +97995,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98162,14 +98031,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98191,30 +98060,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98258,10 +98126,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -98480,10 +98348,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -98705,7 +98573,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -98720,7 +98588,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -99075,7 +98943,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -99128,7 +98996,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -99419,11 +99287,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -99487,7 +99355,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -99498,7 +99366,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -99726,17 +99594,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -99825,31 +99693,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -100560,8 +100428,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -100587,7 +100454,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -100635,7 +100502,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -100651,13 +100518,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -100670,8 +100537,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -100686,8 +100552,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -100723,8 +100588,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -101303,15 +101167,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -101339,18 +101202,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -101504,7 +101367,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -101556,8 +101419,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -101818,8 +101680,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -101859,31 +101720,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -101893,7 +101753,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -101971,7 +101831,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -101979,42 +101839,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -102027,7 +101887,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -102097,7 +101957,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -102112,7 +101972,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -102990,7 +102850,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103000,7 +102860,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103192,7 +103052,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103202,7 +103062,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103338,7 +103198,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103348,7 +103208,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103432,7 +103292,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -103442,7 +103302,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -104036,7 +103896,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104050,7 +103910,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104071,7 +103931,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104108,7 +103968,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104129,7 +103989,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104150,7 +104010,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104158,7 +104018,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -104177,14 +104037,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104198,7 +104058,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104220,21 +104080,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104256,14 +104116,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104285,30 +104145,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104352,10 +104211,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -104574,10 +104433,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -104799,7 +104658,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -104814,7 +104673,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -105169,7 +105028,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -105222,7 +105081,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -105513,11 +105372,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -105581,7 +105440,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -105592,7 +105451,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -105820,17 +105679,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -105919,31 +105778,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -106654,8 +106513,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -106681,7 +106539,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -106729,7 +106587,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -106745,13 +106603,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -106764,8 +106622,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -106780,8 +106637,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -106817,8 +106673,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -107397,15 +107252,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -107433,18 +107287,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -107598,7 +107452,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -107650,8 +107504,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -107912,8 +107765,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -107953,31 +107805,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -107987,7 +107838,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -108126,7 +107977,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -108134,42 +107985,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -108182,7 +108033,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -108252,7 +108103,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -108267,7 +108118,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109145,7 +108996,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109155,7 +109006,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109347,7 +109198,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109357,7 +109208,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109493,7 +109344,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109503,7 +109354,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109587,7 +109438,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -109597,7 +109448,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -110191,7 +110042,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110205,7 +110056,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110226,7 +110077,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110263,7 +110114,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110284,7 +110135,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110305,7 +110156,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110313,7 +110164,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -110332,14 +110183,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110353,7 +110204,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110375,21 +110226,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110411,14 +110262,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110440,30 +110291,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110507,10 +110357,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -110729,10 +110579,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -110954,7 +110804,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -110969,7 +110819,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -111324,7 +111174,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -111377,7 +111227,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -111668,11 +111518,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -111736,7 +111586,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -111747,7 +111597,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -111975,17 +111825,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112074,31 +111924,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112809,8 +112659,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112836,7 +112685,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112884,7 +112733,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -112900,13 +112749,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -112919,8 +112768,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112935,8 +112783,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -112972,8 +112819,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -113552,15 +113398,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -113588,18 +113433,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -113753,7 +113598,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -113805,8 +113650,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -114067,8 +113911,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -114108,31 +113951,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -114142,7 +113984,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -114281,7 +114123,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -114289,42 +114131,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -114337,7 +114179,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -114407,7 +114249,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -114422,7 +114264,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115300,7 +115142,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115310,7 +115152,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115502,7 +115344,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115512,7 +115354,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115648,7 +115490,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115658,7 +115500,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115742,7 +115584,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -115752,7 +115594,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -116346,7 +116188,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116360,7 +116202,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116381,7 +116223,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116418,7 +116260,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116439,7 +116281,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116460,7 +116302,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116468,7 +116310,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -116487,14 +116329,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116508,7 +116350,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116530,21 +116372,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116566,14 +116408,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116595,30 +116437,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -116662,10 +116503,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -116884,10 +116725,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -117109,7 +116950,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -117124,7 +116965,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -117479,7 +117320,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -117532,7 +117373,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -117823,11 +117664,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -117891,7 +117732,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -117902,7 +117743,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -118130,17 +117971,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -118229,31 +118070,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -118964,8 +118805,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -118991,7 +118831,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -119039,7 +118879,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -119055,13 +118895,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -119074,8 +118914,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -119090,8 +118929,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -119127,8 +118965,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -119707,15 +119544,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -119743,18 +119579,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -119908,7 +119744,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -119960,8 +119796,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -120222,8 +120057,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -120263,31 +120097,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -120297,7 +120130,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -120375,17 +120208,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -120823,7 +120656,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -120831,42 +120664,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -120879,7 +120712,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -120949,7 +120782,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -120964,7 +120797,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -121842,7 +121675,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -121852,7 +121685,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122044,7 +121877,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122054,7 +121887,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122190,7 +122023,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122200,7 +122033,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122284,7 +122117,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122294,7 +122127,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -122888,7 +122721,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -122902,7 +122735,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -122923,7 +122756,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -122960,7 +122793,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -122981,7 +122814,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123002,7 +122835,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123010,7 +122843,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -123029,14 +122862,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123050,7 +122883,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123072,21 +122905,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123108,14 +122941,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123137,30 +122970,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123204,10 +123036,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -123426,10 +123258,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -123651,7 +123483,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -123666,7 +123498,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -124021,7 +123853,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -124074,7 +123906,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -124365,11 +124197,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -124433,7 +124265,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -124444,7 +124276,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -124672,17 +124504,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -124771,31 +124603,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -125506,8 +125338,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -125533,7 +125364,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -125581,7 +125412,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -125597,13 +125428,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -125616,8 +125447,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -125632,8 +125462,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -125669,8 +125498,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -126249,15 +126077,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -126285,18 +126112,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -126450,7 +126277,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -126502,8 +126329,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -126764,8 +126590,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -126805,31 +126630,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -126839,7 +126663,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -126917,10 +126741,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -126978,7 +126802,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -126986,42 +126810,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -127034,7 +126858,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -127104,7 +126928,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -127119,7 +126943,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -127997,7 +127821,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128007,7 +127831,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128199,7 +128023,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128209,7 +128033,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128345,7 +128169,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128355,7 +128179,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128439,7 +128263,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -128449,7 +128273,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -129043,7 +128867,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129057,7 +128881,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129078,7 +128902,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129115,7 +128939,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129136,7 +128960,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129157,7 +128981,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129165,7 +128989,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -129184,14 +129008,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129205,7 +129029,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129227,21 +129051,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129263,14 +129087,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129292,30 +129116,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129359,10 +129182,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -129581,10 +129404,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -129806,7 +129629,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -129821,7 +129644,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -130176,7 +129999,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -130229,7 +130052,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -130520,11 +130343,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -130588,7 +130411,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -130599,7 +130422,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -130827,17 +130650,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -130926,31 +130749,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -131661,8 +131484,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -131688,7 +131510,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -131736,7 +131558,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -131752,13 +131574,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -131771,8 +131593,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -131787,8 +131608,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -131824,8 +131644,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -132404,15 +132223,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -132440,18 +132258,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -132605,7 +132423,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -132657,8 +132475,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -132919,8 +132736,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -132960,31 +132776,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -132994,7 +132809,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -133072,10 +132887,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -133133,7 +132948,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -133141,42 +132956,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -133189,7 +133004,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -133259,7 +133074,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -133274,7 +133089,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134152,7 +133967,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134162,7 +133977,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134354,7 +134169,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134364,7 +134179,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134500,7 +134315,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134510,7 +134325,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134594,7 +134409,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -134604,7 +134419,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -135198,7 +135013,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135212,7 +135027,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135233,7 +135048,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135270,7 +135085,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135291,7 +135106,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135312,7 +135127,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135320,7 +135135,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -135339,14 +135154,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135360,7 +135175,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135382,21 +135197,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135418,14 +135233,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135447,30 +135262,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135514,10 +135328,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -135736,10 +135550,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -135961,7 +135775,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -135976,7 +135790,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -136331,7 +136145,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -136384,7 +136198,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -136675,11 +136489,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -136743,7 +136557,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -136754,7 +136568,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -136982,17 +136796,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137081,31 +136895,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137816,8 +137630,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137843,7 +137656,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137891,7 +137704,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -137907,13 +137720,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -137926,8 +137739,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137942,8 +137754,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -137979,8 +137790,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -138559,15 +138369,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -138595,18 +138404,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -138760,7 +138569,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -138812,8 +138621,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -139074,8 +138882,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -139115,31 +138922,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -139149,7 +138955,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -139227,7 +139033,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -139235,42 +139041,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -139283,7 +139089,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -139353,7 +139159,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -139368,7 +139174,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140246,7 +140052,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140256,7 +140062,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140448,7 +140254,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140458,7 +140264,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140594,7 +140400,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140604,7 +140410,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140688,7 +140494,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -140698,7 +140504,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -141292,7 +141098,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141306,7 +141112,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141327,7 +141133,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141364,7 +141170,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141385,7 +141191,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141406,7 +141212,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141414,7 +141220,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -141433,14 +141239,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141454,7 +141260,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141476,21 +141282,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141512,14 +141318,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141541,30 +141347,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -141608,10 +141413,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -141830,10 +141635,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -142055,7 +141860,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -142070,7 +141875,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -142425,7 +142230,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -142478,7 +142283,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -142769,11 +142574,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -142837,7 +142642,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -142848,7 +142653,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -143076,17 +142881,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -143175,31 +142980,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -143910,8 +143715,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -143937,7 +143741,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -143985,7 +143789,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -144001,13 +143805,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -144020,8 +143824,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -144036,8 +143839,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -144073,8 +143875,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -144653,15 +144454,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -144689,18 +144489,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -144854,7 +144654,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -144906,8 +144706,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -145168,8 +144967,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -145209,31 +145007,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -145243,7 +145040,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -145321,7 +145118,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -145329,42 +145126,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -145377,7 +145174,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -145447,7 +145244,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -145462,7 +145259,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146340,7 +146137,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146350,7 +146147,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146542,7 +146339,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146552,7 +146349,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146688,7 +146485,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146698,7 +146495,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146782,7 +146579,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -146792,7 +146589,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -147386,7 +147183,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147400,7 +147197,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147421,7 +147218,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147458,7 +147255,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147479,7 +147276,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147500,7 +147297,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147508,7 +147305,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -147527,14 +147324,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147548,7 +147345,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147570,21 +147367,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147606,14 +147403,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147635,30 +147432,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -147702,10 +147498,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -147924,10 +147720,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -148149,7 +147945,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -148164,7 +147960,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -148519,7 +148315,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -148572,7 +148368,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -148863,11 +148659,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -148931,7 +148727,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -148942,7 +148738,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -149170,17 +148966,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -149269,31 +149065,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150004,8 +149800,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150031,7 +149826,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150079,7 +149874,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -150095,13 +149890,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -150114,8 +149909,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150130,8 +149924,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150167,8 +149960,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -150747,15 +150539,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -150783,18 +150574,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -150948,7 +150739,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -151000,8 +150791,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -151262,8 +151052,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -151303,31 +151092,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -151337,7 +151125,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -151415,7 +151203,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -151429,10 +151217,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -151749,7 +151537,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -151757,42 +151545,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -151805,7 +151593,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -151875,7 +151663,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -151890,7 +151678,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -152768,7 +152556,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -152778,7 +152566,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -152970,7 +152758,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -152980,7 +152768,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -153116,7 +152904,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -153126,7 +152914,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -153210,7 +152998,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -153220,7 +153008,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -153814,7 +153602,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153828,7 +153616,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153849,7 +153637,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153886,7 +153674,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153907,7 +153695,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153928,7 +153716,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153936,7 +153724,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -153955,14 +153743,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153976,7 +153764,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -153998,21 +153786,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -154034,14 +153822,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -154063,30 +153851,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -154130,10 +153917,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -154352,10 +154139,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -154577,7 +154364,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -154592,7 +154379,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -154947,7 +154734,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -155000,7 +154787,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -155291,11 +155078,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -155359,7 +155146,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -155370,7 +155157,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -155598,17 +155385,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -155697,31 +155484,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -156432,8 +156219,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -156459,7 +156245,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -156507,7 +156293,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -156523,13 +156309,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -156542,8 +156328,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -156558,8 +156343,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -156595,8 +156379,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -157175,15 +156958,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -157211,18 +156993,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -157376,7 +157158,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -157428,8 +157210,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -157690,8 +157471,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -157731,31 +157511,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -157765,7 +157544,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -157843,7 +157622,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -157857,10 +157636,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -158177,7 +157956,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -158185,42 +157964,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -158233,7 +158012,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -158303,7 +158082,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -158318,7 +158097,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159196,7 +158975,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159206,7 +158985,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159398,7 +159177,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159408,7 +159187,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159544,7 +159323,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159554,7 +159333,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159638,7 +159417,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -159648,7 +159427,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -160242,7 +160021,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160256,7 +160035,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160277,7 +160056,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160314,7 +160093,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160335,7 +160114,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160356,7 +160135,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160364,7 +160143,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -160383,14 +160162,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160404,7 +160183,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160426,21 +160205,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160462,14 +160241,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160491,30 +160270,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -160558,10 +160336,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -160780,10 +160558,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -161005,7 +160783,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -161020,7 +160798,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -161375,7 +161153,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -161428,7 +161206,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -161719,11 +161497,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -161787,7 +161565,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -161798,7 +161576,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -162026,17 +161804,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -162125,31 +161903,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -162860,8 +162638,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -162887,7 +162664,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -162935,7 +162712,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -162951,13 +162728,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -162970,8 +162747,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -162986,8 +162762,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -163023,8 +162798,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -163603,15 +163377,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -163639,18 +163412,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -163804,7 +163577,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -163856,8 +163629,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -164118,8 +163890,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -164159,31 +163930,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -164193,7 +163963,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -165211,7 +164981,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -165219,42 +164989,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -165267,7 +165037,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -165337,7 +165107,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -165352,7 +165122,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166230,7 +166000,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166240,7 +166010,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166432,7 +166202,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166442,7 +166212,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166578,7 +166348,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166588,7 +166358,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166672,7 +166442,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -166682,7 +166452,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -167276,7 +167046,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167290,7 +167060,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167311,7 +167081,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167348,7 +167118,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167369,7 +167139,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167390,7 +167160,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167398,7 +167168,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -167417,14 +167187,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167438,7 +167208,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167460,21 +167230,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167496,14 +167266,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167525,30 +167295,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -167592,10 +167361,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -167814,10 +167583,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -168039,7 +167808,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -168054,7 +167823,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -168409,7 +168178,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -168462,7 +168231,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -168753,11 +168522,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -168821,7 +168590,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -168832,7 +168601,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -169060,17 +168829,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -169159,31 +168928,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -169894,8 +169663,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -169921,7 +169689,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -169969,7 +169737,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -169985,13 +169753,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -170004,8 +169772,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -170020,8 +169787,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -170057,8 +169823,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -170637,15 +170402,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -170673,18 +170437,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -170838,7 +170602,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -170890,8 +170654,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -171152,8 +170915,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -171193,31 +170955,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -171227,7 +170988,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -172245,7 +172006,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -172253,42 +172014,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -172301,7 +172062,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" }, "AttributeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -172371,7 +172132,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -172386,7 +172147,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "AttributeRemoveChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173264,7 +173025,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173274,7 +173035,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "DiscountCodeChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173466,7 +173227,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173476,7 +173237,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "MetafieldChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173612,7 +173373,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173622,7 +173383,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "NoteChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173706,7 +173467,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -173716,7 +173477,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" }, "ShippingAddressUpdateChange": { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -174310,7 +174071,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174324,7 +174085,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174345,7 +174106,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174382,7 +174143,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174403,7 +174164,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174424,7 +174185,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174432,7 +174193,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -174451,14 +174212,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174472,7 +174233,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174494,21 +174255,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174530,14 +174291,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174559,30 +174320,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -174626,10 +174386,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -174848,10 +174608,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -175073,7 +174833,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -175088,7 +174848,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -175443,7 +175203,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -175496,7 +175256,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -175787,11 +175547,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -175855,7 +175615,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -175866,7 +175626,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -176094,17 +175854,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -176193,31 +175953,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -176928,8 +176688,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -176955,7 +176714,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -177003,7 +176762,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -177019,13 +176778,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -177038,8 +176797,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -177054,8 +176812,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -177091,8 +176848,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -177671,15 +177427,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -177707,18 +177462,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -177872,7 +177627,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -177924,8 +177679,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178186,8 +177940,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178227,31 +177980,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178261,7 +178013,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178400,7 +178152,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -178411,7 +178163,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -178431,7 +178183,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178445,7 +178197,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178466,7 +178218,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178503,7 +178255,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178524,7 +178276,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178545,7 +178297,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178553,7 +178305,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -178572,14 +178324,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178593,7 +178345,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178615,21 +178367,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178651,14 +178403,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178680,30 +178432,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -178747,10 +178498,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -178969,10 +178720,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -179194,7 +178945,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -179209,7 +178960,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -179564,7 +179315,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -179617,7 +179368,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -179908,11 +179659,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -179976,7 +179727,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -179987,7 +179738,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -180215,17 +179966,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -180314,31 +180065,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181049,8 +180800,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181076,7 +180826,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181124,7 +180874,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -181140,13 +180890,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -181159,8 +180909,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181175,8 +180924,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181212,8 +180960,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -181792,15 +181539,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -181828,18 +181574,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -181993,7 +181739,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -182045,8 +181791,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182307,8 +182052,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182348,31 +182092,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182382,7 +182125,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182521,7 +182264,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -182532,7 +182275,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -182552,7 +182295,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182566,7 +182309,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182587,7 +182330,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182624,7 +182367,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182645,7 +182388,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182666,7 +182409,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182674,7 +182417,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -182693,14 +182436,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182714,7 +182457,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182736,21 +182479,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182772,14 +182515,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182801,30 +182544,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182868,10 +182610,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -183090,10 +182832,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -183315,7 +183057,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -183330,7 +183072,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -183685,7 +183427,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -183738,7 +183480,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -184029,11 +183771,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -184097,7 +183839,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -184108,7 +183850,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -184336,17 +184078,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -184435,31 +184177,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185170,8 +184912,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185197,7 +184938,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185245,7 +184986,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -185261,13 +185002,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -185280,8 +185021,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185296,8 +185036,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185333,8 +185072,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -185913,15 +185651,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -185949,18 +185686,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -186114,7 +185851,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -186166,8 +185903,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -186428,8 +186164,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -186469,31 +186204,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -186503,7 +186237,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -186642,7 +186376,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -186653,7 +186387,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -186673,10 +186407,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -186823,7 +186557,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -186838,7 +186572,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "CartLineCost": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187349,7 +187083,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187363,7 +187097,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187384,7 +187118,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187421,7 +187155,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187442,7 +187176,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187463,7 +187197,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187471,7 +187205,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -187490,14 +187224,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187511,7 +187245,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187533,21 +187267,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187569,14 +187303,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187598,30 +187332,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -187665,10 +187398,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -187887,10 +187620,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -188112,7 +187845,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -188127,7 +187860,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -188482,7 +188215,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -188535,7 +188268,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -188826,11 +188559,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -188894,7 +188627,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -188905,7 +188638,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -189133,17 +188866,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -189232,31 +188965,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -189967,8 +189700,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -189994,7 +189726,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -190042,7 +189774,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -190058,13 +189790,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -190077,8 +189809,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -190093,8 +189824,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -190130,8 +189860,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -190710,15 +190439,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -190746,18 +190474,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -190911,7 +190639,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -190963,8 +190691,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191225,8 +190952,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191266,31 +190992,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191300,7 +191025,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191439,7 +191164,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -191450,7 +191175,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -191470,7 +191195,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191484,7 +191209,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191505,7 +191230,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191542,7 +191267,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191563,7 +191288,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191584,7 +191309,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191592,7 +191317,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -191611,14 +191336,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191632,7 +191357,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191654,21 +191379,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191690,14 +191415,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191719,30 +191444,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -191786,10 +191510,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -192008,10 +191732,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -192233,7 +191957,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -192248,7 +191972,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -192603,7 +192327,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -192656,7 +192380,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -192947,11 +192671,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -193015,7 +192739,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -193026,7 +192750,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -193254,17 +192978,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -193353,31 +193077,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194088,8 +193812,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194115,7 +193838,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194163,7 +193886,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -194179,13 +193902,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -194198,8 +193921,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194214,8 +193936,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194251,8 +193972,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -194831,15 +194551,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -194867,18 +194586,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -195032,7 +194751,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -195084,8 +194803,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195346,8 +195064,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195387,31 +195104,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195421,7 +195137,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195560,7 +195276,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -195571,7 +195287,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -195591,7 +195307,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195605,7 +195321,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195626,7 +195342,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195663,7 +195379,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195684,7 +195400,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195705,7 +195421,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195713,7 +195429,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -195732,14 +195448,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195753,7 +195469,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195775,21 +195491,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195811,14 +195527,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195840,30 +195556,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -195907,10 +195622,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -196129,10 +195844,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -196354,7 +196069,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -196369,7 +196084,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -196724,7 +196439,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -196777,7 +196492,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -197068,11 +196783,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -197136,7 +196851,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -197147,7 +196862,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -197375,17 +197090,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -197474,31 +197189,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198209,8 +197924,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198236,7 +197950,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198284,7 +197998,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -198300,13 +198014,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -198319,8 +198033,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198335,8 +198048,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198372,8 +198084,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -198952,15 +198663,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -198988,18 +198698,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -199153,7 +198863,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -199205,8 +198915,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199467,8 +199176,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199508,31 +199216,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199542,7 +199249,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199681,7 +199388,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -199692,7 +199399,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -199712,7 +199419,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199726,7 +199433,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199747,7 +199454,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199784,7 +199491,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199805,7 +199512,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199826,7 +199533,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199834,7 +199541,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -199853,14 +199560,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199874,7 +199581,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199896,21 +199603,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199932,14 +199639,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -199961,30 +199668,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -200028,10 +199734,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -200250,10 +199956,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -200475,7 +200181,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -200490,7 +200196,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -200845,7 +200551,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -200898,7 +200604,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -201189,11 +200895,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -201257,7 +200963,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -201268,7 +200974,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -201496,17 +201202,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -201595,31 +201301,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -202330,8 +202036,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -202357,7 +202062,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -202405,7 +202110,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -202421,13 +202126,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -202440,8 +202145,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -202456,8 +202160,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -202493,8 +202196,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -203073,15 +202775,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203109,18 +202810,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -203274,7 +202975,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -203326,8 +203027,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203588,8 +203288,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203629,31 +203328,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203663,7 +203361,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203802,7 +203500,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -203813,7 +203511,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } } }, @@ -203833,7 +203531,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203847,7 +203545,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203868,7 +203566,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203905,7 +203603,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203926,7 +203624,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203947,7 +203645,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203955,7 +203653,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -203974,14 +203672,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -203995,7 +203693,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204017,21 +203715,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204053,14 +203751,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204082,30 +203780,29 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" }, "Analytics": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", - "isPublicDocs": true, + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" }, "VisitorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204149,10 +203846,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" }, "SubscribableSignalLike": { "filePath": "src/surfaces/checkout/shared.ts", @@ -204371,10 +204068,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" }, "VisitorConsent": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204596,7 +204293,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -204611,7 +204308,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" }, "PaymentOption": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204966,7 +204663,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -205019,7 +204716,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" }, "ImageDetails": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -205310,11 +205007,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "InterceptorResult": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -205378,7 +205075,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -205389,7 +205086,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" }, "ValidationError": { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -205617,17 +205314,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" }, "CustomerPrivacy": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -205716,31 +205413,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" }, "TrackingConsentMetafield": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -206451,8 +206148,7 @@ "Extension": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", - "isPublicDocs": true, + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -206478,7 +206174,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -206526,7 +206222,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -206542,13 +206238,13 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" }, "ApiVersion": { "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." }, "Capability": { @@ -206561,8 +206257,7 @@ "Editor": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", - "isPublicDocs": true, + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -206577,8 +206272,7 @@ "I18n": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", - "isPublicDocs": true, + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -206614,8 +206308,7 @@ "I18nTranslate": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", - "isPublicDocs": true, + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" }, @@ -207194,15 +206887,14 @@ "Localization": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", - "isPublicDocs": true, + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -207230,18 +206922,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" }, "Country": { "filePath": "src/shared.ts", @@ -207395,7 +207087,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." }, "GraphQLError": { @@ -207447,8 +207139,7 @@ "SessionToken": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", - "isPublicDocs": true, + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -207709,8 +207400,7 @@ "Shop": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", - "isPublicDocs": true, + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -207750,31 +207440,30 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" }, "Storage": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", - "isPublicDocs": true, + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -207784,7 +207473,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" }, "Version": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -207821,7 +207510,7 @@ "AbbreviationElementProps": { "filePath": "src/surfaces/checkout/components/Abbreviation.ts", "name": "AbbreviationElementProps", - "description": "The element props interface for the Abbreviation component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -207829,7 +207518,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -207837,7 +207526,7 @@ "syntaxKind": "PropertySignature", "name": "title", "value": "string", - "description": "Defines the full expansion of the abbreviation or acronym.\n\nHelps user agents and users understand the meaning of the abbreviated text.", + "description": "Defines the full expansion of the abbreviation or acronym. Helps user agents and users understand the meaning of the abbreviated text.\n\nLearn more about the [abbreviation element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr).", "isOptional": true, "defaultValue": "''" } @@ -207888,7 +207577,7 @@ "syntaxKind": "PropertySignature", "name": "aftertoggle", "value": "CallbackEventListener", - "description": "A callback that fires when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback that fires when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true }, { @@ -207904,11 +207593,11 @@ "syntaxKind": "PropertySignature", "name": "toggle", "value": "CallbackEventListener", - "description": "A callback that fires immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback that fires immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], - "value": "export interface AnnouncementElementEvents {\n /**\n * A callback that fires when the element state changes, after any toggle animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n aftertoggle?: CallbackEventListener;\n /**\n * A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.\n */\n dismiss?: CallbackEventListener;\n /**\n * A callback that fires immediately when the element state changes, before any animations.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n toggle?: CallbackEventListener;\n}" + "value": "export interface AnnouncementElementEvents {\n /**\n * A callback that fires when the element state changes, after any toggle animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n aftertoggle?: CallbackEventListener;\n /**\n * A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.\n */\n dismiss?: CallbackEventListener;\n /**\n * A callback that fires immediately when the element state changes, before any animations.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n toggle?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Announcement.ts", @@ -208055,7 +207744,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -208167,7 +207856,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -208296,7 +207985,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -208371,7 +208060,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -208380,7 +208069,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -208593,7 +208282,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -208656,7 +208345,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -208665,7 +208354,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -208859,7 +208548,7 @@ "ButtonElementProps": { "filePath": "src/surfaces/checkout/components/Button.ts", "name": "ButtonElementProps", - "description": "Configure the following properties on the button component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -208875,7 +208564,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -208884,7 +208573,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -208909,7 +208598,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -208961,7 +208650,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavioral type of the button component, which determines what action it performs when activated.\n- `'submit'`: Submits the nearest containing form.\n- `'button'`: Performs no default action, relying on the `click` event handler for behavior.\n- `'reset'`: Resets all fields in the nearest containing form to their default values.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", + "description": "The behavioral type of the button component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" }, @@ -208975,7 +208664,7 @@ "defaultValue": "'auto'" } ], - "value": "export interface ButtonElementProps extends Pick {\n target?: Extract;\n tone?: Extract;\n type?: Extract;\n variant?: Extract;\n}" + "value": "export interface ButtonElementProps extends Pick {\n target?: Extract;\n tone?: Extract;\n /**\n * The behavioral type of the button component, which determines what action it performs when activated.\n *\n * - `submit`: Submits the nearest containing form.\n * - `button`: Performs no default action, relying on the `click` event handler for behavior.\n *\n * This property is ignored if `href` or `commandFor`/`command` is set.\n *\n * @default 'button'\n */\n type?: Extract;\n variant?: Extract;\n}" } } }, @@ -208987,7 +208676,7 @@ "ButtonElementEvents": { "filePath": "src/surfaces/checkout/components/Button.ts", "name": "ButtonElementEvents", - "description": "The button component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -209058,7 +208747,7 @@ "CheckboxElementProps": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxElementProps", - "description": "The element props interface for the Checkbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209074,7 +208763,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -209083,7 +208772,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -209092,7 +208781,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -209100,7 +208789,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -209109,7 +208798,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -209118,7 +208807,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -209126,7 +208815,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -209134,7 +208823,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Visual content to use as the control label.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -209142,7 +208831,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -209150,7 +208839,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -209163,7 +208852,7 @@ "isOptional": true } ], - "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n}" + "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n /**\n * The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n *\n * If a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).\n */\n label?: string;\n}" } } }, @@ -209175,7 +208864,7 @@ "CheckboxElementEvents": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxElementEvents", - "description": "The events interface for the Checkbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209183,11 +208872,11 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "A callback that is run whenever the control is changed.", + "description": "A callback fired when the checkbox value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true } ], - "value": "export interface CheckboxElementEvents {\n /**\n * A callback that is run whenever the control is changed.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n}" + "value": "export interface CheckboxElementEvents {\n /**\n * A callback fired when the checkbox value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", @@ -209204,6 +208893,30 @@ "description": "An event type that narrows the `currentTarget` to the specific HTML element associated with the custom element tag. This provides type-safe event handling in callback listeners." } } + }, + { + "title": "Slots", + "description": "Learn more about [component slots](/docs/api/checkout-ui-extensions/latest/using-polaris-components#slots).", + "type": "CheckboxElementSlots", + "typeDefinitions": { + "CheckboxElementSlots": { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "name": "CheckboxElementSlots", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "syntaxKind": "PropertySignature", + "name": "label", + "value": "HTMLElement", + "description": "The visual content to use as the control label.\n\nUse an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.", + "isOptional": true + } + ], + "value": "export interface CheckboxElementSlots {\n /**\n * The visual content to use as the control label.\n *\n * Use an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.\n */\n label?: HTMLElement;\n}" + } + } } ], "defaultExample": { @@ -209239,7 +208952,7 @@ "ChipElementProps": { "filePath": "src/surfaces/checkout/components/Chip.ts", "name": "ChipElementProps", - "description": "The element props interface for the Chip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209255,7 +208968,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -209271,7 +208984,7 @@ "ChipElementSlots": { "filePath": "src/surfaces/checkout/components/Chip.ts", "name": "ChipElementSlots", - "description": "The slots interface for the Chip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209279,11 +208992,11 @@ "syntaxKind": "PropertySignature", "name": "graphic", "value": "HTMLElement", - "description": "The graphic to display inside of the chip.\n\nOnly `s-icon` element and its `type` attribute are supported.", + "description": "An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.", "isOptional": true } ], - "value": "export interface ChipElementSlots {\n /**\n * The graphic to display inside of the chip.\n *\n * Only `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" + "value": "export interface ChipElementSlots {\n /**\n * An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" } } } @@ -209321,7 +209034,7 @@ "ChoiceListElementProps": { "filePath": "src/surfaces/checkout/components/ChoiceList.ts", "name": "ChoiceListElementProps", - "description": "The element props interface for the ChoiceList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209329,7 +209042,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.\n\n`disabled` on any child choices is ignored when this is true.", + "description": "Whether the field is disabled, preventing any user interaction.\n\n`disabled` on any child choices is ignored when this is true.", "isOptional": true, "defaultValue": "false" }, @@ -209338,7 +209051,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -209346,7 +209059,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -209354,7 +209067,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -209362,7 +209075,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -209380,7 +209093,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -209388,7 +209101,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of the `value`s of the selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -209396,7 +209109,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" } @@ -209413,7 +209126,7 @@ "ChoiceListElementEvents": { "filePath": "src/surfaces/checkout/components/ChoiceList.ts", "name": "ChoiceListElementEvents", - "description": "The events interface for the ChoiceList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209421,11 +209134,11 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "A callback that is run whenever the control is changed.", + "description": "A callback fired when the choice list value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true } ], - "value": "export interface ChoiceListElementEvents {\n /**\n * A callback that is run whenever the control is changed.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n}" + "value": "export interface ChoiceListElementEvents {\n /**\n * A callback fired when the choice list value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/ChoiceList.ts", @@ -209451,7 +209164,7 @@ "ChoiceElementProps": { "filePath": "src/surfaces/checkout/components/Choice.ts", "name": "ChoiceElementProps", - "description": "The element props interface for the Choice component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209467,7 +209180,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -209476,7 +209189,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -209485,7 +209198,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "boolean", - "description": "Set to `true` to associate a choice with the error passed to `ChoiceList`", + "description": "Whether this choice is associated with the error state of the parent choice list. When `true`, the choice is visually marked as having an error.", "isOptional": true, "defaultValue": "false" }, @@ -209494,7 +209207,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -209502,7 +209215,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -209527,7 +209240,7 @@ "ChoiceElementSlots": { "filePath": "src/surfaces/checkout/components/Choice.ts", "name": "ChoiceElementSlots", - "description": "The slots interface for the Choice component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209650,7 +209363,7 @@ "ClickableElementProps": { "filePath": "src/surfaces/checkout/components/Clickable.ts", "name": "ClickableElementProps", - "description": "Configure the following properties on the clickable component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -209666,7 +209379,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -209741,7 +209454,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -209750,7 +209463,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -209767,7 +209480,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -209784,7 +209497,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -209809,7 +209522,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label)", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).", "isOptional": true, "defaultValue": "''" }, @@ -209944,12 +209657,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavioral type of the button component, which determines what action it performs when activated.\n- `'submit'`: Submits the nearest containing form.\n- `'button'`: Performs no default action, relying on the `click` event handler for behavior.\n- `'reset'`: Resets all fields in the nearest containing form to their default values.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", + "description": "The behavioral type of the clickable component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" } ], - "value": "export interface ClickableElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n target?: Extract;\n type?: Extract;\n}" + "value": "export interface ClickableElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n target?: Extract;\n /**\n * The behavioral type of the clickable component, which determines what action it performs when activated.\n *\n * - `submit`: Submits the nearest containing form.\n * - `button`: Performs no default action, relying on the `click` event handler for behavior.\n *\n * This property is ignored if `href` or `commandFor`/`command` is set.\n *\n * @default 'button'\n */\n type?: Extract;\n}" }, "MaybeResponsive": { "filePath": "src/surfaces/checkout/components/components.ts", @@ -210025,7 +209738,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -210086,7 +209799,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -210095,7 +209808,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -210112,7 +209825,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -210129,7 +209842,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -210154,7 +209867,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label)", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).", "isOptional": true, "defaultValue": "''" }, @@ -210313,7 +210026,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavioral type of the button component, which determines what action it performs when activated.\n- `'submit'`: Submits the nearest containing form.\n- `'button'`: Performs no default action, relying on the `click` event handler for behavior.\n- `'reset'`: Resets all fields in the nearest containing form to their default values.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", + "description": "The behavioral type of the clickable component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" } @@ -210358,7 +210071,7 @@ "ClickableElementEvents": { "filePath": "src/surfaces/checkout/components/Clickable.ts", "name": "ClickableElementEvents", - "description": "The clickable component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -210438,7 +210151,7 @@ "ClickableChipElementProps": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementProps", - "description": "Configure the following properties on the clickable chip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -210454,7 +210167,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the chip, disallowing any interaction.", + "description": "Disables the chip, preventing all user interaction including clicks and removal. Disabled chips are visually dimmed to indicate they are not interactive.", "isOptional": true, "defaultValue": "false" }, @@ -210463,7 +210176,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -210480,7 +210193,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -210488,7 +210201,7 @@ "syntaxKind": "PropertySignature", "name": "removable", "value": "boolean", - "description": "Whether the chip is removable.", + "description": "Whether the chip displays a remove button, allowing users to dismiss it. When `true`, clicking the remove button fires the `remove` event.", "isOptional": true, "defaultValue": "false" } @@ -210505,7 +210218,7 @@ "ClickableChipElementEvents": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementEvents", - "description": "The clickable chip component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -210559,7 +210272,7 @@ "ClickableChipElementSlots": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementSlots", - "description": "The clickable chip component supports slots for additional content placement. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -210567,11 +210280,11 @@ "syntaxKind": "PropertySignature", "name": "graphic", "value": "HTMLElement", - "description": "The graphic to display inside of the chip.\n\nOnly `s-icon` element and its `type` attribute are supported.", + "description": "An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.", "isOptional": true } ], - "value": "export interface ClickableChipElementSlots {\n /**\n * The graphic to display inside of the chip.\n *\n * Only `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" + "value": "export interface ClickableChipElementSlots {\n /**\n * An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" } } } @@ -210609,7 +210322,7 @@ "ClipboardItemElementProps": { "filePath": "src/surfaces/checkout/components/ClipboardItem.ts", "name": "ClipboardItemElementProps", - "description": "Configure the following properties on the clipboard item component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -210617,7 +210330,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -210642,7 +210355,7 @@ "ClipboardItemElementEvents": { "filePath": "src/surfaces/checkout/components/ClipboardItem.ts", "name": "ClipboardItemElementEvents", - "description": "The clipboard item component provides event callbacks for handling copy interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -210714,7 +210427,7 @@ "ConsentCheckboxElementProps": { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "name": "ConsentCheckboxElementProps", - "description": "The element props interface for the ConsentCheckbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -210730,7 +210443,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -210739,7 +210452,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -210748,7 +210461,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -210756,7 +210469,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -210765,7 +210478,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -210774,7 +210487,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -210782,7 +210495,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -210790,7 +210503,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Visual content to use as the control label.", + "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", "isOptional": true }, { @@ -210798,15 +210511,15 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -210818,14 +210531,7 @@ "isOptional": true } ], - "value": "export interface ConsentCheckboxElementProps extends Pick {\n command?: Extract;\n}" - }, - "ConsentPolicy": { - "filePath": "src/surfaces/checkout/components/components.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "ConsentPolicy", - "value": "\"sms-marketing\"", - "description": "" + "value": "export interface ConsentCheckboxElementProps extends Pick {\n command?: Extract;\n /**\n * The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n *\n * - `sms-marketing`: Represents the policy for SMS marketing consent.\n */\n policy?: ConsentCheckboxProps$1['policy'];\n}" } } }, @@ -210837,7 +210543,7 @@ "ConsentCheckboxElementEvents": { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "name": "ConsentCheckboxElementEvents", - "description": "The events interface for the ConsentCheckbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -210845,11 +210551,11 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "A callback that is run whenever the control is changed.", + "description": "A callback fired when the consent checkbox value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true } ], - "value": "export interface ConsentCheckboxElementEvents {\n /**\n * A callback that is run whenever the control is changed.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n}" + "value": "export interface ConsentCheckboxElementEvents {\n /**\n * A callback fired when the consent checkbox value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", @@ -210901,7 +210607,7 @@ "ConsentPhoneFieldElementProps": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementProps", - "description": "The element props interface for the ConsentPhoneField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -210909,16 +210615,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -210926,7 +210632,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -210935,7 +210641,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -210943,7 +210649,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -210951,7 +210657,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -210959,7 +210665,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -210968,7 +210674,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -210985,8 +210691,8 @@ "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -210994,7 +210700,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -211012,9 +210718,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -211025,7 +210731,7 @@ "isOptional": true } ], - "value": "export interface ConsentPhoneFieldElementProps extends Pick {\n /**\n * @deprecated Use `label` instead.\n * @private\n */\n placeholder?: string;\n}" + "value": "export interface ConsentPhoneFieldElementProps extends Pick {\n /**\n * @deprecated Use `label` instead.\n * @private\n */\n placeholder?: string;\n /**\n * The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n *\n * - `sms-marketing`: Represents the policy for SMS marketing consent.\n */\n policy?: ConsentPhoneFieldProps$1['policy'];\n}" }, "AutocompleteSection": { "filePath": "src/surfaces/checkout/components/components.ts", @@ -211040,13 +210746,6 @@ "name": "AutocompleteGroup", "value": "\"shipping\" | \"billing\"", "description": "The contact information group the autocomplete data should be sourced from." - }, - "ConsentPolicy": { - "filePath": "src/surfaces/checkout/components/components.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "ConsentPolicy", - "value": "\"sms-marketing\"", - "description": "" } } }, @@ -211058,7 +210757,7 @@ "ConsentPhoneFieldElementEvents": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementEvents", - "description": "The events interface for the ConsentPhoneField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211066,7 +210765,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the consent phone field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -211074,7 +210773,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the consent phone field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -211082,7 +210781,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the consent phone field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -211090,11 +210789,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the consent phone field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface ConsentPhoneFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface ConsentPhoneFieldElementEvents {\n /**\n * A callback fired when the consent phone field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the consent phone field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the consent phone field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the consent phone field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -211120,7 +210819,7 @@ "ConsentPhoneFieldElementSlots": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementSlots", - "description": "The slots interface for the ConsentPhoneField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211128,11 +210827,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface ConsentPhoneFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface ConsentPhoneFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -211170,7 +210869,7 @@ "DateFieldElementProps": { "filePath": "src/surfaces/checkout/components/DateField.ts", "name": "DateFieldElementProps", - "description": "The element props interface for the DateField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211178,7 +210877,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211199,7 +210898,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211220,16 +210919,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/DateField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -211245,7 +210944,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -211254,7 +210953,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211296,7 +210995,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -211304,7 +211003,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -211312,7 +211011,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -211320,7 +211019,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -211338,7 +211037,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -211394,7 +211093,7 @@ "DateFieldElementEvents": { "filePath": "src/surfaces/checkout/components/DateField.ts", "name": "DateFieldElementEvents", - "description": "The events interface for the DateField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211402,7 +211101,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the date field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -211410,7 +211109,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the date field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -211418,7 +211117,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the date field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -211426,7 +211125,7 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the date field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true }, { @@ -211434,7 +211133,7 @@ "syntaxKind": "PropertySignature", "name": "invalid", "value": "CallbackEventListener", - "description": "Callback when the user enters an invalid date.", + "description": "A callback fired when the date field value is invalid.\n\nLearn more about the [invalid event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event).", "isOptional": true }, { @@ -211442,11 +211141,11 @@ "syntaxKind": "PropertySignature", "name": "viewChange", "value": "CallbackEventListener", - "description": "Callback when the view changes.", + "description": "A callback fired when the calendar view changes, such as when navigating between months.", "isOptional": true } ], - "value": "export interface DateFieldElementEvents {\n /**\n * Callback when the element loses focus.\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n */\n input?: CallbackEventListener;\n /**\n * Callback when the user enters an invalid date.\n */\n invalid?: CallbackEventListener;\n /**\n * Callback when the view changes.\n */\n viewChange?: CallbackEventListener;\n}" + "value": "export interface DateFieldElementEvents {\n /**\n * A callback fired when the date field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the date field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the date field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the date field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n /**\n * A callback fired when the date field value is invalid.\n *\n * Learn more about the [invalid event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event).\n */\n invalid?: CallbackEventListener;\n /**\n * A callback fired when the calendar view changes, such as when navigating between months.\n */\n viewChange?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/DateField.ts", @@ -211498,7 +211197,7 @@ "DatePickerElementProps": { "filePath": "src/surfaces/checkout/components/DatePicker.ts", "name": "DatePickerElementProps", - "description": "The element props interface for the DatePicker component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211506,7 +211205,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211527,7 +211226,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211565,7 +211264,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -211574,7 +211273,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -211616,7 +211315,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -211624,7 +211323,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -211641,7 +211340,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -211666,7 +211365,7 @@ "DatePickerElementEvents": { "filePath": "src/surfaces/checkout/components/DatePicker.ts", "name": "DatePickerElementEvents", - "description": "The events interface for the DatePicker component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211674,7 +211373,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the date picker loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -211682,7 +211381,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the date picker value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -211690,7 +211389,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the date picker receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -211698,7 +211397,7 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the date picker.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true }, { @@ -211706,11 +211405,11 @@ "syntaxKind": "PropertySignature", "name": "viewChange", "value": "CallbackEventListener", - "description": "Callback when the view changes.", + "description": "A callback fired when the calendar view changes, such as when navigating between months.", "isOptional": true } ], - "value": "export interface DatePickerElementEvents {\n /**\n * Callback when the element loses focus.\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n */\n input?: CallbackEventListener;\n /**\n * Callback when the view changes.\n */\n viewChange?: CallbackEventListener;\n}" + "value": "export interface DatePickerElementEvents {\n /**\n * A callback fired when the date picker loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the date picker value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the date picker receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the date picker.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n /**\n * A callback fired when the calendar view changes, such as when navigating between months.\n */\n viewChange?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/DatePicker.ts", @@ -211762,7 +211461,7 @@ "DetailsElementProps": { "filePath": "src/surfaces/checkout/components/Details.ts", "name": "DetailsElementProps", - "description": "The element props interface for the Details component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211770,7 +211469,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Indicates whether the element should be open by default.\n\nThis reflects to the `open` attribute.", + "description": "Whether the element should be open when it first renders. Use this for uncontrolled behavior where the component manages its own open state after the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -211779,7 +211478,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -211787,7 +211486,7 @@ "syntaxKind": "PropertySignature", "name": "open", "value": "boolean", - "description": "Whether the element is open.\n\nThis does not reflect to any attribute.", + "description": "Whether the element is currently open and showing its content. Use this for controlled behavior where you manage the open state yourself.", "isOptional": true, "defaultValue": "false" }, @@ -211796,7 +211495,7 @@ "syntaxKind": "PropertySignature", "name": "toggleTransition", "value": "'none' | 'auto'", - "description": "Sets the transition between the two states.", + "description": "Sets the animation transition between the open and closed states.\n\n- `none`: Disables all transition animations.\n- `auto`: Uses the default transition animation.", "isOptional": true, "defaultValue": "'auto'" } @@ -211813,7 +211512,7 @@ "DetailsElementEvents": { "filePath": "src/surfaces/checkout/components/Details.ts", "name": "DetailsElementEvents", - "description": "The events interface for the Details component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211821,7 +211520,7 @@ "syntaxKind": "PropertySignature", "name": "aftertoggle", "value": "CallbackEventListener", - "description": "Callback fired when the element state changes **after** any animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -211829,11 +211528,11 @@ "syntaxKind": "PropertySignature", "name": "toggle", "value": "CallbackEventListener", - "description": "Callback straight after the element state changes.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], - "value": "export interface DetailsElementEvents {\n /**\n * Callback straight after the element state changes.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n toggle?: CallbackEventListener;\n /**\n * Callback fired when the element state changes **after** any animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n aftertoggle?: CallbackEventListener;\n}" + "value": "export interface DetailsElementEvents {\n /**\n * A callback fired immediately when the element state changes, before any animations.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n toggle?: CallbackEventListener;\n /**\n * A callback fired when the element state changes, after any toggle animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.\n */\n aftertoggle?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Details.ts", @@ -211890,7 +211589,7 @@ "SummaryElementProps": { "filePath": "src/surfaces/checkout/components/Summary.ts", "name": "SummaryElementProps", - "description": "The element props interface for the Summary component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -211898,7 +211597,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -211957,7 +211656,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -211999,7 +211698,7 @@ "DropZoneElementProps": { "filePath": "src/surfaces/checkout/components/DropZone.ts", "name": "DropZoneElementProps", - "description": "The element props interface for the DropZone component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212024,7 +211723,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -212033,7 +211732,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -212041,7 +211740,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -212049,7 +211748,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -212066,7 +211765,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -212100,7 +211799,7 @@ "DropZoneElementEvents": { "filePath": "src/surfaces/checkout/components/DropZone.ts", "name": "DropZoneElementEvents", - "description": "The events interface for the DropZone component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212108,7 +211807,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has finished selecting a file or files.", + "description": "A callback fired when the drop zone value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -212116,7 +211815,7 @@ "syntaxKind": "PropertySignature", "name": "droprejected", "value": "CallbackEventListener", - "description": "Callback when rejected files are dropped. Files are rejected based on the `accept` prop.", + "description": "A callback fired when files are rejected based on the `accept` prop.", "isOptional": true }, { @@ -212124,11 +211823,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the drop zone.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface DropZoneElementEvents {\n /**\n * Callback when rejected files are dropped. Files are rejected based on the `accept` prop.\n */\n droprejected?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n */\n input?: CallbackEventListener;\n /**\n * Callback when the user has finished selecting a file or files.\n */\n change?: CallbackEventListener;\n}" + "value": "export interface DropZoneElementEvents {\n /**\n * A callback fired when files are rejected based on the `accept` prop.\n */\n droprejected?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the drop zone.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n /**\n * A callback fired when the drop zone value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/DropZone.ts", @@ -212187,7 +211886,7 @@ "EmailFieldElementProps": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementProps", - "description": "The element props interface for the EmailField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212195,16 +211894,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/EmailField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -212212,7 +211911,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -212221,7 +211920,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -212229,7 +211928,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -212237,7 +211936,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -212245,7 +211944,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -212263,7 +211962,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -212272,7 +211971,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -212290,7 +211989,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -212338,7 +212037,7 @@ "EmailFieldElementEvents": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementEvents", - "description": "The events interface for the EmailField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212346,7 +212045,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the email field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -212354,7 +212053,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the email field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -212362,7 +212061,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the email field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -212370,11 +212069,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the email field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface EmailFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface EmailFieldElementEvents {\n /**\n * A callback fired when the email field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the email field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the email field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the email field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/EmailField.ts", @@ -212400,7 +212099,7 @@ "EmailFieldElementSlots": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementSlots", - "description": "The slots interface for the EmailField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212408,11 +212107,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface EmailFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface EmailFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -212450,7 +212149,7 @@ "FormElementProps": { "filePath": "src/surfaces/checkout/components/Form.ts", "name": "FormElementProps", - "description": "The element props interface for the Form component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212469,7 +212168,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -212485,7 +212184,7 @@ "FormElementEvents": { "filePath": "src/surfaces/checkout/components/Form.ts", "name": "FormElementEvents", - "description": "The events interface for the Form component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -212493,11 +212192,11 @@ "syntaxKind": "PropertySignature", "name": "submit", "value": "CallbackEventListener", - "description": "A callback that is run when the form is submitted.", + "description": "A callback fired when the form is submitted.", "isOptional": true } ], - "value": "export interface FormElementEvents {\n /**\n * A callback that is run when the form is submitted.\n */\n submit?: CallbackEventListener;\n}" + "value": "export interface FormElementEvents {\n /**\n * A callback fired when the form is submitted.\n */\n submit?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Form.ts", @@ -212581,7 +212280,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -212692,7 +212391,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -212728,7 +212427,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -213002,7 +212701,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -213101,7 +212800,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -213137,7 +212836,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -213391,7 +213090,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -213475,7 +213174,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -213502,7 +213201,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -213715,7 +213414,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -213787,7 +213486,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -213814,7 +213513,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -214001,7 +213700,7 @@ "HeadingElementProps": { "filePath": "src/surfaces/checkout/components/Heading.ts", "name": "HeadingElementProps", - "description": "The element props interface for the Heading component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -214009,7 +213708,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'heading' | 'none' | 'presentation'", - "description": "Sets the semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `heading`: defines the element as a heading to a page or section.\n- `presentation`: the heading level will be stripped, and will prevent the element’s implicit ARIA semantics from being exposed to the accessibility tree.\n- `none`: a synonym for the `presentation` role.", + "description": "The semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `presentation`: Removes semantic meaning, making the element purely decorative and ignored by screen readers.\n- `none`: Completely hides the element and its content from assistive technologies.", "isOptional": true, "defaultValue": "'heading'" }, @@ -214018,7 +213717,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -214087,7 +213786,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -214245,7 +213944,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -214408,7 +214107,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -214508,7 +214207,7 @@ "LinkElementProps": { "filePath": "src/surfaces/checkout/components/Link.ts", "name": "LinkElementProps", - "description": "Configure the following properties on the link component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -214524,7 +214223,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -214533,7 +214232,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -214549,7 +214248,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -214599,7 +214298,7 @@ "LinkElementEvents": { "filePath": "src/surfaces/checkout/components/Link.ts", "name": "LinkElementEvents", - "description": "The link component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -214703,7 +214402,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -215013,7 +214712,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", "isOptional": true, "defaultValue": "'--auto'" }, @@ -215022,7 +214721,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", "isOptional": true }, { @@ -215053,7 +214752,7 @@ "defaultValue": "0" } ], - "value": "export interface MapMarkerElementProps extends Pick {\n /**\n * Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n *\n * - `--auto`: a default action for the target component.\n * - `--show`: shows the target component.\n * - `--hide`: hides the target component.\n * - `--toggle`: toggles the target component.\n *\n * @default '--auto'\n */\n command?: Extract;\n /**\n * The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n */\n commandFor?: MapMarkerProps$1['commandFor'];\n}" + "value": "export interface MapMarkerElementProps extends Pick {\n /**\n * Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n *\n * - `--auto`: a default action for the target component.\n * - `--show`: shows the target component.\n * - `--hide`: hides the target component.\n * - `--toggle`: toggles the target component.\n *\n * @default '--auto'\n */\n command?: Extract;\n /**\n * The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n */\n commandFor?: MapMarkerProps$1['commandFor'];\n}" }, "MaybeResponsive": { "filePath": "src/surfaces/checkout/components/components.ts", @@ -215124,7 +214823,7 @@ "MapMarkerElementSlots": { "filePath": "src/surfaces/checkout/components/MapMarker.ts", "name": "MapMarkerElementSlots", - "description": "The named slots for the map marker component. Slots allow you to insert custom content into specific areas of the marker.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215227,7 +214926,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -215404,7 +215103,7 @@ "MoneyFieldElementProps": { "filePath": "src/surfaces/checkout/components/MoneyField.ts", "name": "MoneyFieldElementProps", - "description": "The element props interface for the MoneyField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215412,16 +215111,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/MoneyField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -215429,7 +215128,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -215438,7 +215137,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -215446,7 +215145,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -215454,7 +215153,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -215462,7 +215161,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -215471,7 +215170,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -215480,7 +215179,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -215489,7 +215188,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -215497,7 +215196,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -215554,7 +215253,7 @@ "MoneyFieldElementEvents": { "filePath": "src/surfaces/checkout/components/MoneyField.ts", "name": "MoneyFieldElementEvents", - "description": "The events interface for the MoneyField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215562,7 +215261,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the money field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -215570,7 +215269,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the money field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -215578,7 +215277,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the money field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -215586,11 +215285,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the money field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface MoneyFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface MoneyFieldElementEvents {\n /**\n * A callback fired when the money field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the money field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the money field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the money field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/MoneyField.ts", @@ -215642,7 +215341,7 @@ "NumberFieldElementProps": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementProps", - "description": "The element props interface for the NumberField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215650,16 +215349,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/NumberField.ts", "syntaxKind": "PropertySignature", "name": "controls", "value": "'auto' | 'stepper' | 'none'", - "description": "Sets the type of controls displayed in the field.\n\n- `stepper`: displays buttons to increase or decrease the value of the field by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value of the field are enabled.\n- `none`: no controls are displayed and users must input the value manually. Arrow keys and scroll wheels can’t be used either to avoid accidental changes.\n- `auto`: the presence of the controls depends on the surface and context.", + "description": "Sets the type of controls displayed in the field.\n\n- `'auto'`: The presence of the controls depends on the surface and context.\n- `'stepper'`: Displays buttons to increase or decrease the value by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value are enabled.\n- `'none'`: No controls are displayed and users must input the value manually. Arrow keys and scroll wheels can’t be used either to avoid accidental changes.", "isOptional": true, "defaultValue": "'auto'" }, @@ -215668,7 +215367,7 @@ "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -215676,7 +215375,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -215685,7 +215384,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -215702,7 +215401,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -215710,7 +215409,7 @@ "syntaxKind": "PropertySignature", "name": "inputMode", "value": "'decimal' | 'numeric'", - "description": "Sets the virtual keyboard.", + "description": "Sets the virtual keyboard layout for the field.\n\n- `'decimal'`: A numeric keyboard with a decimal point, suitable for decimal numbers.\n- `'numeric'`: A numeric keyboard without a decimal point, suitable for integers.\n\nLearn more about the [inputMode attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).", "isOptional": true, "defaultValue": "'decimal'" }, @@ -215719,7 +215418,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -215727,7 +215426,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -215736,7 +215435,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -215745,7 +215444,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -215754,7 +215453,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -215772,7 +215471,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -215781,7 +215480,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -215808,7 +215507,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -215847,7 +215546,7 @@ "NumberFieldElementEvents": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementEvents", - "description": "The events interface for the NumberField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215855,7 +215554,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the number field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -215863,7 +215562,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the number field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -215871,7 +215570,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the number field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -215879,11 +215578,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the number field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface NumberFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface NumberFieldElementEvents {\n /**\n * A callback fired when the number field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the number field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the number field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the number field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/NumberField.ts", @@ -215909,7 +215608,7 @@ "NumberFieldElementSlots": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementSlots", - "description": "The slots interface for the NumberField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215917,11 +215616,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface NumberFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface NumberFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -215959,7 +215658,7 @@ "OrderedListElementProps": { "filePath": "src/surfaces/checkout/components/OrderedList.ts", "name": "OrderedListElementProps", - "description": "The element props interface for the OrderedList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215967,7 +215666,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -215983,7 +215682,7 @@ "ListItemElementProps": { "filePath": "src/surfaces/checkout/components/ListItem.ts", "name": "ListItemElementProps", - "description": "The element props interface for the ListItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -215991,7 +215690,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -216040,7 +215739,7 @@ "ParagraphElementProps": { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphElementProps", - "description": "The element props interface for the Paragraph component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216048,7 +215747,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -216057,7 +215756,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -216066,7 +215765,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: languages written from left to right (such as English)\n- `rtl`: languages written from right to left (such as Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -216075,7 +215774,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -216083,16 +215782,25 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -216101,12 +215809,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "ParagraphType", - "description": "Provide semantic meaning and default styling to the paragraph.\n\nOther presentation properties on `s-paragraph` override the default styling.", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" } ], - "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n}" + "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * Sets the alignment of the text.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/text-align\n *\n * @default 'auto'\n */\n textAlign?: 'start' | 'end' | 'center' | 'auto';\n}" }, "ParagraphType": { "filePath": "src/surfaces/checkout/components/components.ts", @@ -216158,7 +215866,7 @@ "PasswordFieldElementProps": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementProps", - "description": "The element props interface for the PasswordField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216166,16 +215874,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -216183,7 +215891,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -216192,7 +215900,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -216200,7 +215908,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -216208,7 +215916,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -216216,7 +215924,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -216234,7 +215942,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -216243,7 +215951,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -216251,7 +215959,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -216299,7 +216007,7 @@ "PasswordFieldElementEvents": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementEvents", - "description": "The events interface for the PasswordField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216307,7 +216015,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the password field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -216315,7 +216023,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the password field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -216323,7 +216031,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the password field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -216331,11 +216039,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the password field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface PasswordFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface PasswordFieldElementEvents {\n /**\n * A callback fired when the password field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the password field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the password field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the password field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", @@ -216361,7 +216069,7 @@ "PasswordFieldElementSlots": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementSlots", - "description": "The slots interface for the PasswordField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216369,11 +216077,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface PasswordFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface PasswordFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -216427,7 +216135,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -216499,16 +216207,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -216516,7 +216224,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -216525,7 +216233,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -216533,7 +216241,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -216541,7 +216249,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -216549,7 +216257,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -216558,7 +216266,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -216576,7 +216284,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -216594,9 +216302,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -216633,7 +216341,7 @@ "PhoneFieldElementEvents": { "filePath": "src/surfaces/checkout/components/PhoneField.ts", "name": "PhoneFieldElementEvents", - "description": "The events interface for the PhoneField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216641,7 +216349,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the phone field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -216649,7 +216357,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the phone field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -216657,7 +216365,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the phone field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -216665,11 +216373,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the phone field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface PhoneFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface PhoneFieldElementEvents {\n /**\n * A callback fired when the phone field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the phone field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the phone field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the phone field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/PhoneField.ts", @@ -216695,7 +216403,7 @@ "PhoneFieldElementSlots": { "filePath": "src/surfaces/checkout/components/PhoneField.ts", "name": "PhoneFieldElementSlots", - "description": "The slots interface for the PhoneField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216703,11 +216411,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface PhoneFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface PhoneFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -216762,7 +216470,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -216916,7 +216624,7 @@ "PressButtonElementProps": { "filePath": "src/surfaces/checkout/components/PressButton.ts", "name": "PressButtonElementProps", - "description": "Configure the following properties on the press button component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -216950,7 +216658,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -217001,7 +216709,7 @@ "PressButtonElementEvents": { "filePath": "src/surfaces/checkout/components/PressButton.ts", "name": "PressButtonElementEvents", - "description": "The press button component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -217189,7 +216897,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -217197,7 +216905,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The total amount of work the task requires. Must be a value greater than 0 and a valid floating point number.\n\nLearn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).", + "description": "The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n\nLearn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).", "isOptional": true, "defaultValue": "1" }, @@ -217215,11 +216923,11 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "number", - "description": "How much of the task has been completed. Must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n\nLearn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).", + "description": "How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n\nLearn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).", "isOptional": true } ], - "value": "export interface ProgressElementProps extends Pick {\n /**\n * A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".\n */\n accessibilityLabel?: ProgressProps$1['accessibilityLabel'];\n /**\n * The total amount of work the task requires. Must be a value greater than 0 and a valid floating point number.\n *\n * Learn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).\n *\n * @default 1\n */\n max?: ProgressProps$1['max'];\n /**\n * The semantic meaning and color treatment of the progress indicator.\n *\n * - `auto`: Automatically determined based on context.\n * - `critical`: Indicates an urgent or error state requiring immediate attention.\n *\n * @default 'auto'\n */\n tone?: Extract;\n /**\n * How much of the task has been completed. Must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n *\n * Learn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).\n */\n value?: ProgressProps$1['value'];\n}" + "value": "export interface ProgressElementProps extends Pick {\n /**\n * A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".\n */\n accessibilityLabel?: ProgressProps$1['accessibilityLabel'];\n /**\n * The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n *\n * Learn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).\n *\n * @default 1\n */\n max?: ProgressProps$1['max'];\n /**\n * The semantic meaning and color treatment of the progress indicator.\n *\n * - `auto`: Automatically determined based on context.\n * - `critical`: Indicates an urgent or error state requiring immediate attention.\n *\n * @default 'auto'\n */\n tone?: Extract;\n /**\n * How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n *\n * Learn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).\n */\n value?: ProgressProps$1['value'];\n}" } } } @@ -217298,7 +217006,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -217434,7 +217142,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -217501,7 +217209,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -217585,7 +217293,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -217594,7 +217302,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -217807,7 +217515,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -217879,7 +217587,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -217888,7 +217596,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -218106,7 +217814,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -218161,7 +217869,7 @@ "SelectElementProps": { "filePath": "src/surfaces/checkout/components/Select.ts", "name": "SelectElementProps", - "description": "The element props interface for the Select component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -218169,16 +217877,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/Select.ts", "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -218187,7 +217895,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -218195,7 +217903,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -218203,7 +217911,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -218211,7 +217919,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -218219,7 +217927,7 @@ "syntaxKind": "PropertySignature", "name": "placeholder", "value": "string", - "description": "A short hint that describes the expected value of the field.", + "description": "The placeholder text displayed in the field when it's empty, providing a hint about the expected input format or value.", "isOptional": true }, { @@ -218266,7 +217974,7 @@ "SelectElementEvents": { "filePath": "src/surfaces/checkout/components/Select.ts", "name": "SelectElementEvents", - "description": "The events interface for the Select component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -218274,7 +217982,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the select loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -218282,7 +217990,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the select value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -218290,11 +217998,11 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the select receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true } ], - "value": "export interface SelectElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n}" + "value": "export interface SelectElementEvents {\n /**\n * A callback fired when the select loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the select value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the select receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Select.ts", @@ -218320,7 +218028,7 @@ "OptionElementProps": { "filePath": "src/surfaces/checkout/components/Option.ts", "name": "OptionElementProps", - "description": "The element props interface for the Option component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -218336,7 +218044,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -218345,7 +218053,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -218354,7 +218062,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -218362,7 +218070,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -218446,7 +218154,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -218618,7 +218326,7 @@ "SkeletonParagraphElementProps": { "filePath": "src/surfaces/checkout/components/SkeletonParagraph.ts", "name": "SkeletonParagraphElementProps", - "description": "The element props interface for the SkeletonParagraph component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -218635,7 +218343,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -218693,7 +218401,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -218871,7 +218579,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -218889,7 +218597,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -219154,7 +218862,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -219172,7 +218880,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -219452,7 +219160,7 @@ "SwitchElementProps": { "filePath": "src/surfaces/checkout/components/Switch.ts", "name": "SwitchElementProps", - "description": "The element props interface for the Switch component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -219468,7 +219176,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -219477,7 +219185,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the [`command`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command) should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -219486,7 +219194,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -219494,7 +219202,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -219503,7 +219211,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -219512,7 +219220,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -219520,7 +219228,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Visual content to use as the control label.", + "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", "isOptional": true }, { @@ -219528,7 +219236,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -219552,7 +219260,7 @@ "SwitchElementEvents": { "filePath": "src/surfaces/checkout/components/Switch.ts", "name": "SwitchElementEvents", - "description": "The events interface for the Switch component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -219560,11 +219268,11 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "A callback that is run whenever the control is changed.", + "description": "A callback fired when the switch value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true } ], - "value": "export interface SwitchElementEvents {\n /**\n * A callback that is run whenever the control is changed.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n}" + "value": "export interface SwitchElementEvents {\n /**\n * A callback fired when the switch value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/Switch.ts", @@ -219616,7 +219324,7 @@ "TextElementProps": { "filePath": "src/surfaces/checkout/components/Text.ts", "name": "TextElementProps", - "description": "The element props interface for the Text component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -219624,7 +219332,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -219633,7 +219341,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -219642,7 +219350,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: languages written from left to right (such as English)\n- `rtl`: languages written from right to left (such as Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -219651,7 +219359,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component’s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -219660,7 +219368,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -219668,7 +219376,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, @@ -219677,7 +219385,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -219686,12 +219394,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'small' | 'address' | 'mark' | 'strong' | 'generic' | 'redundant' | 'emphasis' | 'offset'", - "description": "Provide semantic meaning and default styling to the text.\n\nOther presentation properties on Text override the default styling.", + "description": "The semantic type and styling treatment for the text content.\n\nOther presentation properties on `s-text` override the default styling.\n\n- `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n- `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n- `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n- `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n- `offset`: A semantic type that indicates an offset from the normal prose of the text.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n- `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n- `generic`: No additional semantics or styling is applied.", "isOptional": true, "defaultValue": "'generic'" } ], - "value": "export interface TextElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n type?: Extract;\n}" + "value": "export interface TextElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * The semantic type and styling treatment for the text content.\n *\n * Other presentation properties on `s-text` override the default styling.\n *\n * - `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n * - `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n * - `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n * - `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n * - `offset`: A semantic type that indicates an offset from the normal prose of the text.\n * - `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n * - `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n * - `generic`: No additional semantics or styling is applied.\n *\n * @default 'generic'\n */\n type?: Extract;\n}" }, "MaybeResponsive": { "filePath": "src/surfaces/checkout/components/components.ts", @@ -219749,7 +219457,7 @@ "TextAreaElementProps": { "filePath": "src/surfaces/checkout/components/TextArea.ts", "name": "TextAreaElementProps", - "description": "The element props interface for the TextArea component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -219757,16 +219465,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextArea.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -219774,7 +219482,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -219783,7 +219491,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -219791,7 +219499,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -219799,7 +219507,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -219807,7 +219515,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -219825,7 +219533,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -219834,7 +219542,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -219852,7 +219560,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -219909,7 +219617,7 @@ "TextAreaElementEvents": { "filePath": "src/surfaces/checkout/components/TextArea.ts", "name": "TextAreaElementEvents", - "description": "The events interface for the TextArea component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -219917,7 +219625,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the text area loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -219925,7 +219633,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the text area value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -219933,7 +219641,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the text area receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -219941,11 +219649,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the text area.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface TextAreaElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface TextAreaElementEvents {\n /**\n * A callback fired when the text area loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the text area value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the text area receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the text area.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/TextArea.ts", @@ -219997,7 +219705,7 @@ "TextFieldElementProps": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementProps", - "description": "The element props interface for the TextField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220005,16 +219713,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -220022,7 +219730,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -220031,7 +219739,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -220048,7 +219756,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -220056,7 +219764,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -220064,7 +219772,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -220082,7 +219790,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -220091,7 +219799,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -220109,7 +219817,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -220118,7 +219826,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -220136,7 +219844,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -220175,7 +219883,7 @@ "TextFieldElementEvents": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementEvents", - "description": "The events interface for the TextField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220183,7 +219891,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the text field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -220191,7 +219899,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the text field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -220199,7 +219907,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the text field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -220207,11 +219915,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the text field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface TextFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface TextFieldElementEvents {\n /**\n * A callback fired when the text field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the text field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the text field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the text field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/TextField.ts", @@ -220237,7 +219945,7 @@ "TextFieldElementSlots": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementSlots", - "description": "The slots interface for the TextField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220245,11 +219953,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface TextFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface TextFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } @@ -220294,7 +220002,7 @@ "TimeElementProps": { "filePath": "src/surfaces/checkout/components/Time.ts", "name": "TimeElementProps", - "description": "The element props interface for the Time component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220302,7 +220010,7 @@ "syntaxKind": "PropertySignature", "name": "dateTime", "value": "string", - "description": "Set the time and/or date of the element.\n\nIt must be a [valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values).", + "description": "The machine-readable date and/or time value for the element. Use this to provide a datetime string that browsers, search engines, and assistive technologies can parse for improved semantics and functionality.\n\nThe value must be a [valid datetime string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values), such as `2024-01-15`, `14:30`, or `2024-01-15T14:30:00`.", "isOptional": true, "defaultValue": "''" }, @@ -220311,7 +220019,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -220368,7 +220076,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -220410,7 +220118,7 @@ "UnorderedListElementProps": { "filePath": "src/surfaces/checkout/components/UnorderedList.ts", "name": "UnorderedListElementProps", - "description": "The element props interface for the UnorderedList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220418,7 +220126,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -220434,7 +220142,7 @@ "ListItemElementProps": { "filePath": "src/surfaces/checkout/components/ListItem.ts", "name": "ListItemElementProps", - "description": "The element props interface for the ListItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220442,7 +220150,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true } ], @@ -220491,7 +220199,7 @@ "URLFieldElementProps": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementProps", - "description": "The element props interface for the UrlField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220499,16 +220207,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/UrlField.ts", "syntaxKind": "PropertySignature", "name": "defaultValue", "value": "string", - "description": "The default value for the field.", + "description": "The initial value of the field when it first loads. Unlike `placeholder`, this is a real value that the user can edit and that gets submitted with the form. Once the user starts typing, their input replaces this value.", "isOptional": true }, { @@ -220516,7 +220224,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -220525,7 +220233,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "string", - "description": "Indicate an error to the user. The field will be given a specific stylistic treatment to communicate problems that have to be resolved immediately.", + "description": "An error message displayed below the field to indicate validation problems. When set, the field is styled with error indicators and the message is announced to screen readers.", "isOptional": true }, { @@ -220533,7 +220241,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A unique identifier for the element.", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", "isOptional": true }, { @@ -220541,7 +220249,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "Content to use as the field label.", + "description": "The text displayed as the field label, which identifies the purpose of the field to users. This label is associated with the field for accessibility and helps users understand what information to provide.", "isOptional": true }, { @@ -220549,7 +220257,7 @@ "syntaxKind": "PropertySignature", "name": "labelAccessibilityVisibility", "value": "'visible' | 'exclusive'", - "description": "Changes the visibility of the component's label.\n\n- `visible`: the label is visible to all users.\n- `exclusive`: the label is visually hidden but remains in the accessibility tree.", + "description": "Controls whether the label is visible to all users or only to screen readers.\n\n- `visible`: The label is shown to everyone.\n- `exclusive`: The label is visually hidden but still announced by screen readers.", "isOptional": true, "defaultValue": "'visible'" }, @@ -220567,7 +220275,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -220576,7 +220284,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the field that is unique within the nearest containing form.", + "description": "The name attribute for the field, used to identify the field's value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -220584,7 +220292,7 @@ "syntaxKind": "PropertySignature", "name": "readOnly", "value": "boolean", - "description": "The field cannot be edited by the user. It is focusable will be announced by screen readers.", + "description": "Whether the field is read-only and can't be edited. Read-only fields remain focusable and their content is announced by screen readers.", "isOptional": true, "defaultValue": "false" }, @@ -220632,7 +220340,7 @@ "URLFieldElementEvents": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementEvents", - "description": "The events interface for the UrlField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220640,7 +220348,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the URL field loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -220648,7 +220356,7 @@ "syntaxKind": "PropertySignature", "name": "change", "value": "CallbackEventListener", - "description": "Callback when the user has **finished editing** a field, e.g. once they have blurred the field.", + "description": "A callback fired when the URL field value changes.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -220656,7 +220364,7 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the URL field receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true }, { @@ -220664,11 +220372,11 @@ "syntaxKind": "PropertySignature", "name": "input", "value": "CallbackEventListener", - "description": "Callback when the user makes any changes in the field.", + "description": "A callback fired when the user inputs data into the URL field.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).", "isOptional": true } ], - "value": "export interface URLFieldElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the user has **finished editing** a field, e.g. once they have blurred the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event\n */\n change?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n /**\n * Callback when the user makes any changes in the field.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event\n */\n input?: CallbackEventListener;\n}" + "value": "export interface URLFieldElementEvents {\n /**\n * A callback fired when the URL field loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the URL field value changes.\n *\n * Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).\n */\n change?: CallbackEventListener;\n /**\n * A callback fired when the URL field receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n /**\n * A callback fired when the user inputs data into the URL field.\n *\n * Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/Element/input_event).\n */\n input?: CallbackEventListener;\n}" }, "CallbackEventListener": { "filePath": "src/surfaces/checkout/components/UrlField.ts", @@ -220694,7 +220402,7 @@ "URLFieldElementSlots": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementSlots", - "description": "The slots interface for the UrlField component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -220702,11 +220410,11 @@ "syntaxKind": "PropertySignature", "name": "accessory", "value": "HTMLElement", - "description": "Additional content to be displayed in the field. Commonly used to display an icon that activates a tooltip providing more information.", + "description": "Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.", "isOptional": true } ], - "value": "export interface URLFieldElementSlots {\n /**\n * Additional content to be displayed in the field.\n * Commonly used to display an icon that activates a tooltip providing more information.\n */\n accessory?: HTMLElement;\n}" + "value": "export interface URLFieldElementSlots {\n /**\n * Additional interactive content displayed within the field. Accepts button and clickable components with text content only. Other component types or complex layouts are not supported.\n */\n accessory?: HTMLElement;\n}" } } } diff --git a/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data_v2.json b/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data_v2.json index 524831f213..908e01d3bd 100644 --- a/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data_v2.json +++ b/packages/ui-extensions/docs/surfaces/checkout/generated/generated_docs_data_v2.json @@ -20,7 +20,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -34,7 +34,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -55,7 +55,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -92,7 +92,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -113,7 +113,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -134,7 +134,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -142,7 +142,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -161,14 +161,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -182,7 +182,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -204,21 +204,21 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -240,14 +240,14 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -269,31 +269,31 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * of the checkout.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" } }, "Analytics": { "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Analytics", - "description": "", + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing)." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "visitor", "value": "(data: { email?: string; phone?: string; }) => Promise", - "description": "A method for capturing details about a visitor on the online store." + "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publish method to emit analytics events to [Web Pixels](/docs/apps/marketing).\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * A method for capturing details about a visitor on the online store.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" } }, "VisitorResult": { @@ -302,7 +302,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "VisitorResult", "value": "VisitorSuccess | VisitorError", - "description": "Represents a visitor result." + "description": "Represents a visitor result.", + "isPublicDocs": true } }, "VisitorSuccess": { @@ -310,6 +311,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "VisitorSuccess", "description": "Represents a successful visitor result.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -327,6 +329,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "VisitorError", "description": "Represents an unsuccessful visitor result.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -340,10 +343,10 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'error'", - "description": "Indicates that the visitor information is invalid and wasn't submitted. Examples are using the wrong data type or missing a required property." + "description": "Indicates that the visitor information is invalid and wasn't submitted. Common causes include using the wrong data type or omitting a required property." } ], - "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Examples are using the wrong data type or missing a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface VisitorError {\n /**\n * Indicates that the visitor information is invalid and wasn't submitted.\n * Common causes include using the wrong data type or omitting a required property.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" } }, "SubscribableSignalLike": { @@ -391,6 +394,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AppliedGiftCard", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -422,6 +426,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Money", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -467,6 +472,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "ApplyTrackingConsentChangeType", "description": "", + "isPublicDocs": true, "params": [ { "name": "visitorConsent", @@ -489,6 +495,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "VisitorConsentChange", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -558,6 +565,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "TrackingConsentMetafieldChange", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -571,10 +579,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" } }, "VisitorConsent": { @@ -582,6 +590,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "VisitorConsent", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -625,7 +634,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "TrackingConsentChangeResult", "value": "TrackingConsentChangeResultSuccess | TrackingConsentChangeResultError", - "description": "" + "description": "", + "isPublicDocs": true } }, "TrackingConsentChangeResultSuccess": { @@ -633,6 +643,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "TrackingConsentChangeResultSuccess", "description": "The returned result of a successful tracking consent preference update.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -650,6 +661,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "TrackingConsentChangeResultError", "description": "The returned result of an unsuccessful tracking consent preference update with a message detailing the type of error that occurred.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -674,6 +686,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AppMetafieldEntry", "description": "An entry that pairs a Shopify resource with one of its [metafields](/docs/apps/build/custom-data/metafields). Each entry contains a `target` identifying which resource the metafield belongs to and a `metafield` object with the actual data.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -698,6 +711,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AppMetafield", "description": "Represents a custom [metafield](/docs/apps/build/custom-data/metafields) attached to a resource such as a product, variant, customer, or shop.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -743,6 +757,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AppMetafieldEntryTarget", "description": "The Shopify resource that a metafield is attached to. Each entry identifies a specific resource by its type and globally-unique ID, so you can trace where the data comes from.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -779,6 +794,7 @@ "filePath": "src/surfaces/checkout/api/shared.ts", "name": "Attribute", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -804,7 +820,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -819,7 +835,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" } }, "PaymentOption": { @@ -827,6 +843,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "PaymentOption", "description": "A payment option presented to the buyer.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -851,6 +868,7 @@ "filePath": "src/surfaces/checkout/api/shared.ts", "name": "MailingAddress", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -1090,6 +1108,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "BuyerIdentity", "description": "Information about the buyer who is completing the checkout.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data). The `customer` and `purchasingCompany` properties require level 1 access. The `email` and `phone` properties require level 2 access.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1128,6 +1147,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Customer", "description": "Information about a customer who has previously purchased from this shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1180,7 +1200,7 @@ "syntaxKind": "PropertySignature", "name": "id", "value": "string", - "description": "A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "examples": [ { "title": "Example", @@ -1233,7 +1253,7 @@ "isPrivate": true } ], - "value": "export interface Customer {\n /**\n * A globally-unique identifier for the customer in the format `gid://shopify/Customer/`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" + "value": "export interface Customer {\n /**\n * An identifier for the customer in the format `gid://shopify/Customer/`. This value is unique per shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 'gid://shopify/Customer/123'\n */\n id: string;\n /**\n * The email address associated with the customer's account. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n email?: string;\n /**\n * The phone number associated with the customer's account. The value is `undefined` if no phone number is on file or the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n phone?: string;\n /**\n * The customer's full name, typically a combination of first and last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n fullName?: string;\n /**\n * The customer's first name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n firstName?: string;\n /**\n * The customer's last name. The value is `undefined` if the app doesn't have the required access level.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n lastName?: string;\n /**\n * The customer's profile image, such as a Gravatar avatar. Use this to personalize the extension UI for the logged-in buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n image: ImageDetails;\n /**\n * Whether the customer has opted in to receiving marketing communications from the merchant, such as email campaigns and promotional offers.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Caution: This field is deprecated and will be removed in a future version. Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n *\n * @deprecated Use `acceptsEmailMarketing` or `acceptsSmsMarketing` instead.\n */\n acceptsMarketing: boolean;\n /**\n * Whether the customer has opted in to email marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsEmailMarketing: boolean;\n /**\n * Whether the customer has opted in to SMS marketing.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n acceptsSmsMarketing: boolean;\n /**\n * The store credit accounts owned by this customer that can be used as payment during checkout. Each account has a balance representing available store credit.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @private\n */\n storeCreditAccounts: StoreCreditAccount[];\n /**\n * The number of orders the customer has previously placed with this shop.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n ordersCount: number;\n}" } }, "ImageDetails": { @@ -1241,6 +1261,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "ImageDetails", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1266,6 +1287,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "StoreCreditAccount", "description": "A store credit account owned by the customer. Store credit is a form of payment that merchants can issue to customers for returns, refunds, or promotional purposes.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1302,6 +1324,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "PurchasingCompany", "description": "The company and location that the [B2B](/docs/apps/build/b2b) customer is purchasing on behalf of. This is present only when the buyer is logged in as a business customer.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1326,6 +1349,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Company", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1370,6 +1394,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CompanyLocation", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1414,6 +1439,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "BuyerJourney", "description": "Provides details on the buyer's progression through the checkout.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1478,6 +1504,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Interceptor", "description": "A function for intercepting and preventing navigation on checkout. You can block navigation by returning an object with `{behavior: 'block', reason: 'your reason here', errors?: ValidationError[]}`. If you do, then you're expected to also update some part of your UI to reflect the reason why navigation was blocked, either by targeting checkout UI fields, passing errors to the page level, or rendering the errors in your extension.", + "isPublicDocs": true, "params": [ { "name": "interceptorProps", @@ -1500,6 +1527,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "InterceptorProps", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1518,7 +1546,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "InterceptorRequest", "value": "InterceptorRequestAllow | InterceptorRequestBlock", - "description": "" + "description": "", + "isPublicDocs": true } }, "InterceptorRequestAllow": { @@ -1539,11 +1568,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" } }, "InterceptorResult": { @@ -1615,7 +1644,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -1626,7 +1655,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" } }, "ValidationError": { @@ -1634,6 +1663,7 @@ "filePath": "src/surfaces/checkout/api/shared.ts", "name": "ValidationError", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -1671,6 +1701,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "BuyerJourneyStep", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1731,6 +1762,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CheckoutSettings", "description": "Settings describing the behavior of the buyer's checkout.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1763,6 +1795,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "PaymentTermsTemplate", "description": "A payment terms template configured by the merchant, defining when payment is due for B2B orders. Common examples include \"Net 30\" (due in 30 days) or \"Due on receipt\".", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1815,6 +1848,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "ShippingAddressSettings", "description": "Settings describing the behavior of the shipping address.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1833,7 +1867,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "CheckoutToken", "value": "string", - "description": "" + "description": "", + "isPublicDocs": true } }, "CartCost": { @@ -1841,6 +1876,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartCost", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1861,17 +1897,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" } }, "CustomerPrivacy": { @@ -1879,6 +1915,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CustomerPrivacy", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -1956,37 +1993,38 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AllowedProcessing", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" } }, "TrackingConsentMetafield": { @@ -1994,6 +2032,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "TrackingConsentMetafield", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2018,6 +2057,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CustomerPrivacyRegion", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2068,6 +2108,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "DeliveryGroup", "description": "A group of cart lines that share the same set of delivery options. For example, physical items might form one delivery group while digital items form another.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2123,7 +2164,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "DeliveryOption", "value": "ShippingOption | PickupPointOption | PickupLocationOption", - "description": "A delivery option available to the buyer. Use the `type` property to determine which kind of option it is:\n\n- `ShippingOption` (`type: 'shipping' | 'local'`): Items shipped by a carrier or delivered locally by the merchant.\n- `PickupPointOption` (`type: 'pickupPoint'`): Items shipped to a third-party collection point for the buyer to pick up.\n- `PickupLocationOption` (`type: 'pickup'`): Items picked up directly from a merchant's store or warehouse." + "description": "A delivery option available to the buyer. Use the `type` property to determine which kind of option it is:\n\n- `ShippingOption` (`type: 'shipping' | 'local'`): Items shipped by a carrier or delivered locally by the merchant.\n- `PickupPointOption` (`type: 'pickupPoint'`): Items shipped to a third-party collection point for the buyer to pick up.\n- `PickupLocationOption` (`type: 'pickup'`): Items picked up directly from a merchant's store or warehouse.", + "isPublicDocs": true } }, "ShippingOption": { @@ -2131,6 +2173,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "ShippingOption", "description": "Represents a delivery option that's a shipping option.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2213,6 +2256,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "ShippingOptionCarrier", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2231,6 +2275,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "DeliveryEstimate", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2249,6 +2294,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "NumberRange", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2275,6 +2321,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Metafield", "description": "Metadata associated with the checkout. See the [metafields documentation](/docs/apps/build/custom-data/metafields) for more information on how metafields work.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2337,6 +2384,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "PickupPointOption", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2477,6 +2525,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "PickupLocationOption", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2564,7 +2613,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "DeliveryGroupType", "value": "'oneTimePurchase' | 'subscription'", - "description": "The possible types of a delivery group.\n\n- `'oneTimePurchase'`: Items bought as a single, non-recurring purchase.\n- `'subscription'`: Items bought through a [selling plan](/docs/apps/build/purchase-options/subscriptions) that results in recurring deliveries." + "description": "The possible types of a delivery group.\n\n- `'oneTimePurchase'`: Items bought as a single, non-recurring purchase.\n- `'subscription'`: Items bought through a [selling plan](/docs/apps/build/purchase-options/subscriptions) that results in recurring deliveries.", + "isPublicDocs": true } }, "DeliveryOptionReference": { @@ -2572,6 +2622,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "DeliveryOptionReference", "description": "A reference to the delivery option selected by the buyer for a delivery group.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2589,6 +2640,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartLineReference", "description": "A reference to a cart line within a delivery group, identified by the cart line's ID.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2607,7 +2659,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "CartDiscountAllocation", "value": "CartCodeDiscountAllocation | CartAutomaticDiscountAllocation | CartCustomDiscountAllocation", - "description": "A discount allocation applied to the cart. Use the `type` property to determine how the discount was triggered:\n\n- `CartCodeDiscountAllocation` (`type: 'code'`): Triggered by a discount code the buyer entered.\n- `CartAutomaticDiscountAllocation` (`type: 'automatic'`): Applied automatically based on merchant-configured rules.\n- `CartCustomDiscountAllocation` (`type: 'custom'`): Applied by a [Shopify Function](/docs/api/functions/latest/discount)." + "description": "A discount allocation applied to the cart. Use the `type` property to determine how the discount was triggered:\n\n- `CartCodeDiscountAllocation` (`type: 'code'`): Triggered by a discount code the buyer entered.\n- `CartAutomaticDiscountAllocation` (`type: 'automatic'`): Applied automatically based on merchant-configured rules.\n- `CartCustomDiscountAllocation` (`type: 'custom'`): Applied by a [Shopify Function](/docs/api/functions/latest/discount).", + "isPublicDocs": true } }, "CartCodeDiscountAllocation": { @@ -2615,6 +2668,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartCodeDiscountAllocation", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2646,6 +2700,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartAutomaticDiscountAllocation", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2677,6 +2732,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartCustomDiscountAllocation", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2708,6 +2764,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartDiscountCode", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2724,7 +2781,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Extension", - "description": "The meta information about an extension target.", + "description": "Metadata about the running extension, including its API version, target, capabilities, and editor context. Use this to read configuration details or conditionally render content based on where the extension is running.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2750,7 +2807,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2798,7 +2855,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -2814,7 +2871,7 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" } }, "ApiVersion": { @@ -2822,7 +2879,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." } }, @@ -2839,7 +2896,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Editor", - "description": "", + "description": "Information about the editor environment when an extension is rendered inside the checkout editor. The value is `undefined` when the extension is not rendering in an editor.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2856,7 +2913,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18n", - "description": "", + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use the I18n API alongside the Localization API to build fully localized extensions.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2894,7 +2951,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "I18nTranslate", - "description": "This returns a translated string matching a key in a locale file.", + "description": "Translates a key from your extension's locale files into a localized string. Supports interpolation with placeholder replacements and pluralization via the special `count` option.", "members": [], "value": "export interface I18nTranslate {\n (\n key: string,\n options?: Record,\n ): ReplacementType extends string | number\n ? string\n : (string | ReplacementType)[];\n}" } @@ -2904,6 +2961,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2956,6 +3014,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "AttributesCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2973,6 +3032,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "DeliveryCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -2990,6 +3050,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "DiscountsCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3007,6 +3068,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartLinesCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3038,6 +3100,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "MetafieldsCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3062,6 +3125,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "NotesCartInstructions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3079,6 +3143,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartLine", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3157,6 +3222,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartLineCost", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3174,6 +3240,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartBundleLineComponent", "description": "An individual component within a bundled cart line. Each `CartLine` that represents a bundle has a `lineComponents` array containing these components.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3252,6 +3319,7 @@ "name": "Merchandise", "value": "ProductVariant", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3347,6 +3415,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Product", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3390,6 +3459,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SelectedOption", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3438,6 +3508,7 @@ "filePath": "src/surfaces/checkout/api/shared.ts", "name": "SellingPlan", "description": "A [selling plan](/docs/apps/build/purchase-options/subscriptions) represents a recurring or deferred purchasing option for a product, such as a subscription, pre-order, or try-before-you-buy plan. The merchant configures selling plans to define how and when the buyer is charged.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -3474,6 +3545,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartLineParentRelationship", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3490,14 +3562,14 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Localization", - "description": "", + "description": "The buyer's language, country, currency, and timezone context. Use this to adapt your extension to the buyer's region and display localized content.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3525,18 +3597,18 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "timezone", "value": "SubscribableSignalLike", - "description": "The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time." + "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, derived from their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" } }, "Country": { @@ -3583,6 +3655,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Currency", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3600,6 +3673,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Language", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3617,6 +3691,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Market", "description": "A [Shopify Market](/docs/apps/build/markets) that represents a group of one or more regions for international selling.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3650,6 +3725,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "LocalizedField", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3702,7 +3778,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." } }, @@ -3737,6 +3813,7 @@ "name": "SelectedPaymentOption", "value": "PaymentOption", "description": "A payment option that the buyer has actively selected. This is the same shape as `PaymentOption` and appears in `selectedPaymentOptions`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3759,7 +3836,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "", + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -3779,6 +3856,7 @@ "name": "ExtensionSettings", "value": "Record<\n string,\n string | number | boolean | undefined\n>", "description": "The merchant-defined setting values for the extension.", + "isPublicDocs": true, "members": [] } }, @@ -3787,6 +3865,7 @@ "filePath": "src/surfaces/checkout/api/shared.ts", "name": "ShippingAddress", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shared.ts", @@ -4024,7 +4103,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Shop", - "description": "", + "description": "Metadata about the merchant's store, including its name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4064,32 +4143,32 @@ "syntaxKind": "PropertySignature", "name": "storefrontUrl", "value": "string", - "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n\n> Caution: > As of version `2024-04` this value no longer has a trailing slash.", + "description": "The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.", "isOptional": true } ], - "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n *\n * > Caution:\n * > As of version `2024-04` this value no longer has a trailing slash.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" + "value": "export interface Shop {\n /**\n * A globally-unique identifier for the shop in the format `gid://shopify/Shop/`.\n *\n * @example 'gid://shopify/Shop/123'\n */\n id: string;\n /**\n * The display name of the shop as configured by the merchant in Shopify admin.\n */\n name: string;\n /**\n * The primary storefront URL for the shop, such as `'https://example.myshopify.com'`. Use this to build links back to the merchant's online store.\n */\n storefrontUrl?: string;\n /**\n * The shop's unique `.myshopify.com` subdomain, such as `'example.myshopify.com'`. This domain is permanent and doesn't change even if the merchant adds a custom domain.\n */\n myshopifyDomain: string;\n}" } }, "Storage": { "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "Storage", - "description": "A key-value storage object for the extension.\n\nStored data is available only to this specific extension and any of its instances.\n\nThe storage backend is implemented with `localStorage` and should persist across the buyer's checkout session. However, data persistence isn't guaranteed.", + "description": "Key-value storage for a specific extension. Use storage to save preferences or cached data that should survive page reloads without requiring a backend call. Stored data is only available to this specific extension. The storage backend is implemented with `localStorage` and data persistence isn't guaranteed.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "delete", "value": "(key: string) => Promise", - "description": "Delete stored data by key." + "description": "Deletes a previously stored value by key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original primitive.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4099,7 +4178,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original primitive.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Delete stored data by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" } }, "Version": { @@ -4108,7 +4187,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "Version", "value": "string", - "description": "" + "description": "", + "isPublicDocs": true } }, "CheckoutApi": { @@ -4123,7 +4203,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -4131,42 +4211,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -4179,7 +4259,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" } }, "AttributeChange": { @@ -4188,7 +4268,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "AttributeChange", "value": "AttributeUpdateChange | AttributeRemoveChange", - "description": "The input for `applyAttributeChange()`. Pass either an `AttributeUpdateChange` (with `type: 'updateAttribute'`) to set the attribute or an `AttributeRemoveChange` (with `type: 'removeAttribute'`) to delete it." + "description": "The input for `applyAttributeChange()`. Pass either an `AttributeUpdateChange` (with `type: 'updateAttribute'`) to set the attribute or an `AttributeRemoveChange` (with `type: 'removeAttribute'`) to delete it.", + "isPublicDocs": true } }, "AttributeUpdateChange": { @@ -4196,6 +4277,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "AttributeUpdateChange", "description": "Updates an attribute on the cart and checkout. If an attribute with the provided key doesn't already exist, then it gets created.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4227,6 +4309,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "AttributeRemoveChange", "description": "Removes an attribute from the checkout. Pass this to `applyAttributeChange()` to delete an attribute by key. If the key doesn't exist, then the change has no effect.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4252,7 +4335,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "AttributeChangeResult", "value": "AttributeChangeResultSuccess | AttributeChangeResultError", - "description": "The result of calling `applyAttributeChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyAttributeChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "AttributeChangeResultSuccess": { @@ -4260,6 +4344,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "AttributeChangeResultSuccess", "description": "The result of a successful attribute change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4277,6 +4362,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "AttributeChangeResultError", "description": "The result of a failed attribute change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4302,7 +4388,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "CartLineChange", "value": "CartLineAddChange | CartLineRemoveChange | CartLineUpdateChange", - "description": "The input for `applyCartLinesChange()`. Use the `type` property to specify the operation.\n\n- `CartLineAddChange` (`type: 'addCartLine'`): Adds a new line item to the cart.\n- `CartLineRemoveChange` (`type: 'removeCartLine'`): Removes an existing line item.\n- `CartLineUpdateChange` (`type: 'updateCartLine'`): Updates an existing line item's quantity, variant, or attributes." + "description": "The input for `applyCartLinesChange()`. Use the `type` property to specify the operation.\n\n- `CartLineAddChange` (`type: 'addCartLine'`): Adds a new line item to the cart.\n- `CartLineRemoveChange` (`type: 'removeCartLine'`): Removes an existing line item.\n- `CartLineUpdateChange` (`type: 'updateCartLine'`): Updates an existing line item's quantity, variant, or attributes.", + "isPublicDocs": true } }, "CartLineAddChange": { @@ -4310,6 +4397,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "CartLineAddChange", "description": "Adds a new line item to the cart. Pass this to `applyCartLinesChange()` to add a product variant with a specified quantity and optional attributes.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4377,6 +4465,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "CartLineRemoveChange", "description": "Removes an existing line item from the cart. Pass this to `applyCartLinesChange()` to remove a specified quantity of a line item.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4420,6 +4509,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "CartLineUpdateChange", "description": "Updates an existing line item in the cart. Pass this to `applyCartLinesChange()` to change a line item's quantity, variant, selling plan, or attributes.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4509,7 +4599,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "CartLineChangeResult", "value": "CartLineChangeResultSuccess | CartLineChangeResultError", - "description": "The result of calling `applyCartLinesChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyCartLinesChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "CartLineChangeResultSuccess": { @@ -4517,6 +4608,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "CartLineChangeResultSuccess", "description": "The result of a successful cart line change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4534,13 +4626,14 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "CartLineChangeResultError", "description": "The result of a failed cart line change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4550,7 +4643,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "DiscountCodeChange": { @@ -4559,7 +4652,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "DiscountCodeChange", "value": "DiscountCodeAddChange | DiscountCodeRemoveChange", - "description": "The input for `applyDiscountCodeChange()`. Pass either a `DiscountCodeAddChange` (with `type: 'addDiscountCode'`) to apply a code or a `DiscountCodeRemoveChange` (with `type: 'removeDiscountCode'`) to remove it." + "description": "The input for `applyDiscountCodeChange()`. Pass either a `DiscountCodeAddChange` (with `type: 'addDiscountCode'`) to apply a code or a `DiscountCodeRemoveChange` (with `type: 'removeDiscountCode'`) to remove it.", + "isPublicDocs": true } }, "DiscountCodeAddChange": { @@ -4567,6 +4661,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "DiscountCodeAddChange", "description": "Applies a discount code to the checkout. Pass this to `applyDiscountCodeChange()` to add a code.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4591,6 +4686,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "DiscountCodeRemoveChange", "description": "Removes a discount code from the checkout. Pass this to `applyDiscountCodeChange()` to remove a code.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4616,7 +4712,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "DiscountCodeChangeResult", "value": "DiscountCodeChangeResultSuccess | DiscountCodeChangeResultError", - "description": "The result of calling `applyDiscountCodeChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyDiscountCodeChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "DiscountCodeChangeResultSuccess": { @@ -4624,6 +4721,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "DiscountCodeChangeResultSuccess", "description": "The result of a successful discount code change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4641,6 +4739,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "DiscountCodeChangeResultError", "description": "The result of a failed discount code change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4666,7 +4765,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "GiftCardChange", "value": "GiftCardAddChange | GiftCardRemoveChange", - "description": "The input for `applyGiftCardChange()`. Pass either a `GiftCardAddChange` (with `type: 'addGiftCard'`) to apply a gift card or a `GiftCardRemoveChange` (with `type: 'removeGiftCard'`) to remove it." + "description": "The input for `applyGiftCardChange()`. Pass either a `GiftCardAddChange` (with `type: 'addGiftCard'`) to apply a gift card or a `GiftCardRemoveChange` (with `type: 'removeGiftCard'`) to remove it.", + "isPublicDocs": true } }, "GiftCardAddChange": { @@ -4674,6 +4774,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "GiftCardAddChange", "description": "Applies a gift card to the checkout. Pass this to `applyGiftCardChange()` to add a gift card.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4698,6 +4799,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "GiftCardRemoveChange", "description": "Removes a gift card from the checkout. Pass this to `applyGiftCardChange()` to remove a gift card.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4723,7 +4825,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "GiftCardChangeResult", "value": "GiftCardChangeResultSuccess | GiftCardChangeResultError", - "description": "The result of calling `applyGiftCardChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyGiftCardChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "GiftCardChangeResultSuccess": { @@ -4731,6 +4834,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "GiftCardChangeResultSuccess", "description": "The result of a successful gift card change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4748,13 +4852,14 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "GiftCardChangeResultError", "description": "The result of a failed gift card change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4764,7 +4869,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "MetafieldChange": { @@ -4773,7 +4878,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "MetafieldChange", "value": "MetafieldRemoveCartChange | MetafieldUpdateCartChange", - "description": "The input for `applyMetafieldChange()`. Use the `type` property to specify the operation.\n\n- `MetafieldRemoveCartChange` (`type: 'removeCartMetafield'`): Removes an existing cart [metafield](/docs/apps/build/custom-data/metafields).\n- `MetafieldUpdateCartChange` (`type: 'updateCartMetafield'`): Creates or updates a cart metafield." + "description": "The input for `applyMetafieldChange()`. Use the `type` property to specify the operation.\n\n- `MetafieldRemoveCartChange` (`type: 'removeCartMetafield'`): Removes an existing cart [metafield](/docs/apps/build/custom-data/metafields).\n- `MetafieldUpdateCartChange` (`type: 'updateCartMetafield'`): Creates or updates a cart metafield.", + "isPublicDocs": true } }, "MetafieldRemoveCartChange": { @@ -4781,6 +4887,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "MetafieldRemoveCartChange", "description": "Removes a cart [metafield](/docs/apps/build/custom-data/metafields). Pass this to `applyMetafieldChange()` to delete a metafield by key and namespace.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4813,6 +4920,7 @@ "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "CartMetafield", "description": "Represents a custom metadata attached to the cart. Unlike `AppMetafield`, cart metafield values are always strings and don't include a `valueType` discriminator.\n\nCart [metafields](/docs/apps/build/custom-data/metafields) are set by extensions using `applyMetafieldChange()` and can be copied to order metafields at order creation time.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4851,6 +4959,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "MetafieldUpdateCartChange", "description": "Creates or updates a cart [metafield](/docs/apps/build/custom-data/metafields). Pass this to `applyMetafieldChange()` to set a metafield value. If a metafield with the provided key and namespace doesn't already exist, then it gets created.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4867,7 +4976,7 @@ "description": "Identifies this as a cart metafield creation or update. Set this when creating a change to set a metafield value." } ], - "value": "export interface MetafieldUpdateCartChange {\n /**\n * Identifies this as a cart metafield creation or update. Set this when creating a change to set a metafield value.\n */\n type: 'updateCartMetafield';\n\n /**\n * The metafield data to set on the cart. If a metafield with this key and namespace already exists, then its value is replaced.\n */\n metafield: {\n /** The name of the metafield to update. */\n key: string;\n\n /** The namespace of the metafield to update. */\n namespace?: string;\n\n /** The new information to store in the metafield. */\n value: string;\n\n /**\n * The metafield\u2019s information type.\n * See the [metafield types documentation](/docs/apps/build/custom-data/metafields/list-of-data-types) for a list of supported types.\n */\n type: string;\n };\n}" + "value": "export interface MetafieldUpdateCartChange {\n /**\n * Identifies this as a cart metafield creation or update. Set this when creating a change to set a metafield value.\n */\n type: 'updateCartMetafield';\n\n /**\n * The metafield data to set on the cart. If a metafield with this key and namespace already exists, then its value is replaced.\n */\n metafield: {\n /** The name of the metafield to update. */\n key: string;\n\n /** The namespace of the metafield to update. */\n namespace?: string;\n\n /** The new information to store in the metafield. */\n value: string;\n\n /**\n * The metafield’s information type.\n * See the [metafield types documentation](/docs/apps/build/custom-data/metafields/list-of-data-types) for a list of supported types.\n */\n type: string;\n };\n}" } }, "MetafieldChangeResult": { @@ -4876,7 +4985,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "MetafieldChangeResult", "value": "MetafieldChangeResultSuccess | MetafieldChangeResultError", - "description": "The result of calling `applyMetafieldChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyMetafieldChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "MetafieldChangeResultSuccess": { @@ -4884,6 +4994,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "MetafieldChangeResultSuccess", "description": "The result of a successful metafield change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4901,13 +5012,14 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "MetafieldChangeResultError", "description": "The result of a failed metafield change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4917,7 +5029,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "NoteChange": { @@ -4926,7 +5038,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "NoteChange", "value": "NoteRemoveChange | NoteUpdateChange", - "description": "The input for `applyNoteChange()`. Pass either a `NoteUpdateChange` (with `type: 'updateNote'`) to set the note or a `NoteRemoveChange` (with `type: 'removeNote'`) to clear it." + "description": "The input for `applyNoteChange()`. Pass either a `NoteUpdateChange` (with `type: 'updateNote'`) to set the note or a `NoteRemoveChange` (with `type: 'removeNote'`) to clear it.", + "isPublicDocs": true } }, "NoteRemoveChange": { @@ -4934,6 +5047,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "NoteRemoveChange", "description": "Clears the buyer's note from the checkout. Pass this to `applyNoteChange()` to remove any existing note.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4951,6 +5065,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "NoteUpdateChange", "description": "Sets or replaces the buyer's note on the checkout. Pass this to `applyNoteChange()` to update the note.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -4976,7 +5091,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "NoteChangeResult", "value": "NoteChangeResultSuccess | NoteChangeResultError", - "description": "The result of calling `applyNoteChange()`. Use the `type` property to determine whether the change succeeded or failed." + "description": "The result of calling `applyNoteChange()`. Use the `type` property to determine whether the change succeeded or failed.", + "isPublicDocs": true } }, "NoteChangeResultSuccess": { @@ -4984,6 +5100,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "NoteChangeResultSuccess", "description": "The result of a successful note change. The `type` property is `'success'`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5001,13 +5118,14 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "NoteChangeResultError", "description": "The result of a failed note change. Check the `message` property for details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5017,7 +5135,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "ShippingAddressUpdateChange": { @@ -5025,6 +5143,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "ShippingAddressUpdateChange", "description": "Updates the buyer's shipping address on the checkout. Pass this to `applyShippingAddressChange()` to modify specific address fields without replacing the entire address.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5050,7 +5169,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ShippingAddressChangeResult", "value": "ShippingAddressChangeResultSuccess | ShippingAddressChangeResultError", - "description": "The result of calling `applyShippingAddressChange()`. Use the `type` property to determine whether the change succeeded or failed. On failure, the `errors` array contains field-level details." + "description": "The result of calling `applyShippingAddressChange()`. Use the `type` property to determine whether the change succeeded or failed. On failure, the `errors` array contains field-level details.", + "isPublicDocs": true } }, "ShippingAddressChangeResultSuccess": { @@ -5058,6 +5178,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "ShippingAddressChangeResultSuccess", "description": "The result of a successful shipping address change. The `type` property is `'success'` and `errors` is `null`.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5082,6 +5203,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "ShippingAddressChangeResultError", "description": "The result of a failed shipping address change. Check the `errors` array for field-level details about what went wrong.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5106,6 +5228,7 @@ "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "name": "ShippingAddressChangeFieldError", "description": "An error corresponding to a particular field from a given change. Use the `field` property to determine which address field caused the error.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5181,6 +5304,7 @@ "name": "ShippingAddressChange", "value": "ShippingAddressUpdateChange", "description": "The input for `applyShippingAddressChange()`. Currently only supports `ShippingAddressUpdateChange` (with `type: 'updateShippingAddress'`).", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -5214,6 +5338,7 @@ "filePath": "src/surfaces/checkout/api/announcement/announcement.ts", "name": "Announcement", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/announcement/announcement.ts", @@ -5226,77 +5351,252 @@ "value": "export interface Announcement {\n announcement: {\n close(): void;\n addEventListener(type: 'close', cb: () => void): void;\n removeEventListener(type: 'close', cb: () => void): void;\n };\n}" } }, - "RedeemableApi": { - "src/surfaces/checkout/api/redeemable/redeemable.ts": { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "name": "RedeemableApi", + "BaseMerchandise": { + "src/surfaces/checkout/api/standard/standard.ts": { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "name": "BaseMerchandise", "description": "", "isPublicDocs": true, "members": [ { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "syntaxKind": "MethodSignature", - "name": "applyRedeemableChange", - "value": "(change: RedeemableAddChange) => Promise", - "description": "Applies a redeemable change to add a redeemable payment method." + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "id", + "value": "string", + "description": "A globally unique identifier for the merchandise.", + "examples": [ + { + "title": "Example", + "description": "", + "tabs": [ + { + "code": "'gid://shopify/ProductVariant/123'", + "title": "Example" + } + ] + } + ] } ], - "value": "export interface RedeemableApi {\n /**\n * Applies a redeemable change to add a redeemable payment method.\n */\n applyRedeemableChange(\n change: RedeemableChange,\n ): Promise;\n}" + "value": "export interface BaseMerchandise {\n /**\n * A globally unique identifier for the merchandise.\n *\n * @example 'gid://shopify/ProductVariant/123'\n */\n id: string;\n}" } }, - "RedeemableAddChange": { - "src/surfaces/checkout/api/redeemable/redeemable.ts": { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "name": "RedeemableAddChange", + "ProductVariant": { + "src/surfaces/checkout/api/standard/standard.ts": { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "name": "ProductVariant", "description": "", + "isPublicDocs": true, "members": [ { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", - "name": "attributes", - "value": "RedeemableAttribute[]", - "description": "The redeemable attributes." + "name": "id", + "value": "string", + "description": "A globally-unique identifier for the product variant in the format `gid://shopify/ProductVariant/`.", + "examples": [ + { + "title": "Example", + "description": "", + "tabs": [ + { + "code": "'gid://shopify/ProductVariant/123'", + "title": "Example" + } + ] + } + ] }, { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", - "name": "identifier", + "name": "image", + "value": "ImageDetails", + "description": "The image associated with the product variant. Falls back to the product image if the variant doesn't have its own. The value is `undefined` if neither the variant nor the product has an image.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "product", + "value": "Product", + "description": "The parent product that this variant belongs to. Use this to access the product's ID, vendor, and type." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "requiresShipping", + "value": "boolean", + "description": "Whether this product variant requires physical shipping. When `true`, the buyer must provide a shipping address. Returns `false` for digital products, gift cards, and services." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "selectedOptions", + "value": "SelectedOption[]", + "description": "The product options applied to this variant, such as size, color, or material. Each entry contains the option name and the selected value." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "sellingPlan", + "value": "SellingPlan", + "description": "The [selling plan](/docs/apps/build/purchase-options/subscriptions) associated with this variant, such as a subscription or pre-order plan. The value is `undefined` if the item isn't being purchased through a selling plan.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "sku", "value": "string", - "description": "The identifier used to represent the redeemable (e.g. the gift card code)." + "description": "The stock keeping unit (SKU) assigned to this variant by the merchant, used for inventory tracking. The value is `undefined` if no SKU has been set.", + "isOptional": true }, { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "subtitle", + "value": "string", + "description": "A secondary description for the variant that provides additional context, such as a color or size combination. The value is `undefined` if no subtitle is available.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "title", + "value": "string", + "description": "The display title of the product variant, such as \"Small\" or \"Red / Large\". This is the variant-specific label, not the parent product title." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'redeemableAddChange'", - "description": "The type of the `RedeemableChange` API." + "value": "'variant'", + "description": "Identifies the merchandise as a product variant. This is currently the only merchandise type in checkout." } ], - "value": "export interface RedeemableAddChange {\n /**\n * The type of the `RedeemableChange` API.\n */\n type: 'redeemableAddChange';\n\n /**\n * The redeemable attributes.\n */\n attributes: RedeemableAttribute[];\n\n /**\n * The identifier used to represent the redeemable (e.g. the gift card code).\n */\n identifier: string;\n}" + "value": "export interface ProductVariant extends BaseMerchandise {\n /**\n * Identifies the merchandise as a product variant. This is currently the only merchandise type in checkout.\n */\n type: 'variant';\n\n /**\n * A globally-unique identifier for the product variant in the format `gid://shopify/ProductVariant/`.\n *\n * @example 'gid://shopify/ProductVariant/123'\n */\n id: string;\n\n /**\n * The display title of the product variant, such as \"Small\" or \"Red / Large\". This is the variant-specific label, not the parent product title.\n */\n title: string;\n\n /**\n * A secondary description for the variant that provides additional context, such as a color or size combination. The value is `undefined` if no subtitle is available.\n */\n subtitle?: string;\n\n /**\n * The image associated with the product variant. Falls back to the product image if the variant doesn't have its own. The value is `undefined` if neither the variant nor the product has an image.\n */\n image?: ImageDetails;\n\n /**\n * The product options applied to this variant, such as size, color, or material. Each entry contains the option name and the selected value.\n */\n selectedOptions: SelectedOption[];\n\n /**\n * The parent product that this variant belongs to. Use this to access the product's ID, vendor, and type.\n */\n product: Product;\n\n /**\n * Whether this product variant requires physical shipping. When `true`, the buyer must provide a shipping address. Returns `false` for digital products, gift cards, and services.\n */\n requiresShipping: boolean;\n\n /**\n * The [selling plan](/docs/apps/build/purchase-options/subscriptions) associated with this variant, such as a subscription or pre-order plan. The value is `undefined` if the item isn't being purchased through a selling plan.\n */\n sellingPlan?: SellingPlan;\n\n /**\n * The stock keeping unit (SKU) assigned to this variant by the merchant, used for inventory tracking. The value is `undefined` if no SKU has been set.\n */\n sku?: string;\n}" } }, - "RedeemableAttribute": { - "src/surfaces/checkout/api/redeemable/redeemable.ts": { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "name": "RedeemableAttribute", - "description": "A key-value pair that represents an attribute of a redeemable payment method.", + "CartDiscountAllocationBase": { + "src/surfaces/checkout/api/standard/standard.ts": { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "name": "CartDiscountAllocationBase", + "description": "", + "isPublicDocs": true, "members": [ { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", - "name": "key", + "name": "discountedAmount", + "value": "Money", + "description": "The monetary value that was deducted from the line item or order total by this discount allocation." + } + ], + "value": "export interface CartDiscountAllocationBase {\n /**\n * The monetary value that was deducted from the line item or order total by this discount allocation.\n */\n discountedAmount: Money;\n}" + } + }, + "DeliveryOptionBase": { + "src/surfaces/checkout/api/standard/standard.ts": { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "name": "DeliveryOptionBase", + "description": "Represents a base interface for a single delivery option.", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "code", "value": "string", - "description": "" + "description": "The carrier service code or rate identifier for this delivery option." }, { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", - "name": "value", + "name": "description", "value": "string", - "description": "" + "description": "Additional details about the delivery option provided by the carrier or merchant, such as estimated delivery windows or service level notes.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "handle", + "value": "string", + "description": "The unique identifier of the delivery option. Use this to match against `DeliveryOptionReference.handle` or `DeliverySelectionGroup` entries." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "metafields", + "value": "Metafield[]", + "description": "Custom [metafields](/docs/apps/build/custom-data/metafields) attached to this delivery option by the carrier or a [Shopify Function](/docs/apps/build/functions). Use these to display additional information about the option." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "title", + "value": "string", + "description": "The merchant-facing or carrier-provided display name for the delivery option, such as \"Standard Shipping\" or \"Express\".", + "isOptional": true } ], - "value": "export interface RedeemableAttribute {\n key: string;\n value: string;\n}" + "value": "export interface DeliveryOptionBase {\n /**\n * The unique identifier of the delivery option. Use this to match against `DeliveryOptionReference.handle` or `DeliverySelectionGroup` entries.\n */\n handle: string;\n\n /**\n * The merchant-facing or carrier-provided display name for the delivery\n * option, such as \"Standard Shipping\" or \"Express\".\n */\n title?: string;\n\n /**\n * Additional details about the delivery option provided by the carrier\n * or merchant, such as estimated delivery windows or service level notes.\n */\n description?: string;\n\n /**\n * The carrier service code or rate identifier for this delivery option.\n */\n code: string;\n\n /**\n * Custom [metafields](/docs/apps/build/custom-data/metafields) attached to this delivery option by the carrier or a [Shopify Function](/docs/apps/build/functions). Use these to display additional information about the option.\n */\n metafields: Metafield[];\n}" + } + }, + "DeliveryGroupDetails": { + "src/surfaces/checkout/api/standard/standard.ts": { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "name": "DeliveryGroupDetails", + "description": "Represents a DeliveryGroup with expanded reference fields and full details.", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "deliveryOptions", + "value": "DeliveryOption[]", + "description": "The delivery options available for this group, including shipping, pickup point, and pickup location options. The buyer selects one of these to determine how their items are delivered." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "groupType", + "value": "DeliveryGroupType", + "description": "Whether this group contains items for a one-time purchase or a subscription. Subscription delivery groups might have different shipping options. See `DeliveryGroupType` for possible values." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "id", + "value": "string", + "description": "A unique identifier for the delivery group. The value is `undefined` if the underlying delivery line doesn't have an ID assigned.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "isDeliveryRequired", + "value": "boolean", + "description": "Whether physical delivery is required for the items in this group. Digital-only groups don't require delivery." + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "selectedDeliveryOption", + "value": "DeliveryOption", + "description": "The full delivery option the buyer has selected for this group, with all cost and carrier details included. The value is `undefined` if the buyer hasn't selected an option yet. Unlike `DeliveryGroup.selectedDeliveryOption`, which is a reference, this contains the complete `DeliveryOption` object.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/api/standard/standard.ts", + "syntaxKind": "PropertySignature", + "name": "targetedCartLines", + "value": "CartLine[]", + "description": "The full cart line objects associated with this delivery group, with all merchandise and cost details included. Unlike `DeliveryGroup.targetedCartLines`, which contains references, this contains the complete `CartLine` objects." + } + ], + "value": "export interface DeliveryGroupDetails extends DeliveryGroup {\n /**\n * The full delivery option the buyer has selected for this group, with all cost and carrier details included. The value is `undefined` if the buyer hasn't selected an option yet. Unlike `DeliveryGroup.selectedDeliveryOption`, which is a reference, this contains the complete `DeliveryOption` object.\n */\n selectedDeliveryOption?: DeliveryOption;\n\n /**\n * The full cart line objects associated with this delivery group, with all merchandise and cost details included. Unlike `DeliveryGroup.targetedCartLines`, which contains references, this contains the complete `CartLine` objects.\n */\n targetedCartLines: CartLine[];\n}" } }, "RedeemableChangeResult": { @@ -5305,7 +5605,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "RedeemableChangeResult", "value": "RedeemableChangeResultSuccess | RedeemableChangeResultError", - "description": "" + "description": "", + "isPublicDocs": true } }, "RedeemableChangeResultSuccess": { @@ -5313,6 +5614,7 @@ "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", "name": "RedeemableChangeResultSuccess", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", @@ -5330,6 +5632,7 @@ "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", "name": "RedeemableChangeResultError", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", @@ -5349,22 +5652,112 @@ "value": "export interface RedeemableChangeResultError {\n /**\n * Indicates that the redeemable change was not applied successfully.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It is **not** localized, and therefore should not be presented directly\n * to the buyer.\n */\n message: string;\n}" } }, - "OrderConfirmationApi": { - "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts": { - "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", - "name": "OrderConfirmationApi", + "RedeemableAttribute": { + "src/surfaces/checkout/api/redeemable/redeemable.ts": { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "name": "RedeemableAttribute", + "description": "A key-value pair that represents an attribute of a redeemable payment method.", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "key", + "value": "string", + "description": "" + }, + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "value", + "value": "string", + "description": "" + } + ], + "value": "export interface RedeemableAttribute {\n key: string;\n value: string;\n}" + } + }, + "RedeemableChange": { + "src/surfaces/checkout/api/redeemable/redeemable.ts": { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "RedeemableChange", + "value": "RedeemableAddChange", "description": "", "isPublicDocs": true, "members": [ { - "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", "syntaxKind": "PropertySignature", - "name": "orderConfirmation", - "value": "SubscribableSignalLike", - "description": "The order details available after the buyer completes checkout, including the order ID, order number, and whether it's the buyer's first purchase." + "name": "attributes", + "value": "RedeemableAttribute[]", + "description": "The redeemable attributes." + }, + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "identifier", + "value": "string", + "description": "The identifier used to represent the redeemable (e.g. the gift card code)." + }, + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "type", + "value": "'redeemableAddChange'", + "description": "The type of the `RedeemableChange` API." + } + ] + } + }, + "RedeemableAddChange": { + "src/surfaces/checkout/api/redeemable/redeemable.ts": { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "name": "RedeemableAddChange", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "attributes", + "value": "RedeemableAttribute[]", + "description": "The redeemable attributes." + }, + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "identifier", + "value": "string", + "description": "The identifier used to represent the redeemable (e.g. the gift card code)." + }, + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "PropertySignature", + "name": "type", + "value": "'redeemableAddChange'", + "description": "The type of the `RedeemableChange` API." } ], - "value": "export interface OrderConfirmationApi {\n /**\n * The order details available after the buyer completes checkout, including the order ID, order number, and whether it's the buyer's first purchase.\n */\n orderConfirmation: SubscribableSignalLike;\n}" + "value": "export interface RedeemableAddChange {\n /**\n * The type of the `RedeemableChange` API.\n */\n type: 'redeemableAddChange';\n\n /**\n * The redeemable attributes.\n */\n attributes: RedeemableAttribute[];\n\n /**\n * The identifier used to represent the redeemable (e.g. the gift card code).\n */\n identifier: string;\n}" + } + }, + "RedeemableApi": { + "src/surfaces/checkout/api/redeemable/redeemable.ts": { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "name": "RedeemableApi", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", + "syntaxKind": "MethodSignature", + "name": "applyRedeemableChange", + "value": "(change: RedeemableAddChange) => Promise", + "description": "Applies a redeemable change to add a redeemable payment method." + } + ], + "value": "export interface RedeemableApi {\n /**\n * Applies a redeemable change to add a redeemable payment method.\n */\n applyRedeemableChange(\n change: RedeemableChange,\n ): Promise;\n}" } }, "OrderConfirmation": { @@ -5372,6 +5765,7 @@ "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", "name": "OrderConfirmation", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", @@ -5385,7 +5779,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -5396,7 +5790,25 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + } + }, + "OrderConfirmationApi": { + "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts": { + "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", + "name": "OrderConfirmationApi", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/order-confirmation/order-confirmation.ts", + "syntaxKind": "PropertySignature", + "name": "orderConfirmation", + "value": "SubscribableSignalLike", + "description": "The order details available after the buyer completes checkout, including the order ID, order number, and whether it's the buyer's first purchase." + } + ], + "value": "export interface OrderConfirmationApi {\n /**\n * The order details available after the buyer completes checkout, including the order ID, order number, and whether it's the buyer's first purchase.\n */\n orderConfirmation: SubscribableSignalLike;\n}" } }, "CartLineItemApi": { @@ -5411,10 +5823,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" } }, "PickupLocationListApi": { @@ -5447,10 +5859,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" } }, "PickupLocationItemApi": { @@ -5465,17 +5877,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" } }, "ShippingOptionItemApi": { @@ -5490,7 +5902,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -5504,10 +5916,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" } }, "ShippingOptionItemRenderMode": { @@ -5515,6 +5927,7 @@ "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", "name": "ShippingOptionItemRenderMode", "description": "The render mode of a shipping option.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -5557,6 +5970,7 @@ "filePath": "src/surfaces/checkout/api/shipping/shipping-option-list.ts", "name": "DeliverySelectionGroup", "description": "A named group of delivery options that the buyer can select as a unit.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-list.ts", @@ -5609,6 +6023,7 @@ "filePath": "src/surfaces/checkout/api/shipping/shipping-option-list.ts", "name": "DeliveryGroupList", "description": "A collection of delivery groups that share the same group type.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-list.ts", @@ -5628,61 +6043,19 @@ "value": "export interface DeliveryGroupList {\n /**\n * The type of delivery groups in this list. This is the same `DeliveryGroupType` used on `DeliveryGroup.groupType`.\n *\n * - `'oneTimePurchase'`: Items bought as a single, non-recurring purchase.\n * - `'subscription'`: Items bought through a [selling plan](/docs/apps/build/purchase-options/subscriptions) that results in recurring deliveries.\n */\n groupType: DeliveryGroupType;\n /**\n * The delivery groups in this list. Each group contains cart lines and available delivery options for those items.\n */\n deliveryGroups: DeliveryGroup[];\n}" } }, - "AddressAutocompleteFormatSuggestionApi": { - "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "name": "AddressAutocompleteFormatSuggestionApi", - "description": "", - "isPublicDocs": true, - "members": [ - { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "syntaxKind": "PropertySignature", - "name": "target", - "value": "Target", - "description": "The autocomplete suggestion that the buyer selected during checkout.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." - } - ], - "value": "export interface AddressAutocompleteFormatSuggestionApi {\n /**\n * The autocomplete suggestion that the buyer selected during checkout.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n target: Target;\n}" - } - }, - "Target": { - "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "name": "Target", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "syntaxKind": "PropertySignature", - "name": "selectedSuggestion", - "value": "AddressAutocompleteSuggestion", - "description": "" - } - ], - "value": "interface Target {\n selectedSuggestion: AddressAutocompleteSuggestion;\n}" - } - }, - "AddressAutocompleteSuggestion": { + "AutocompleteAddress": { "src/surfaces/checkout/api/address-autocomplete/shared.ts": { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", - "name": "AddressAutocompleteSuggestion", - "description": "", + "name": "AutocompleteAddress", + "description": "An address object used to auto-populate the address form fields.\n\nAll fields are optional", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "formattedAddress", - "value": "AutocompleteAddress", - "description": "The address object used to auto-populate the remaining address fields.\n\nIf this value is returned for every suggestion, then the `purchase.address-autocomplete.format-suggestion` extension target is not needed.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", - "syntaxKind": "PropertySignature", - "name": "id", + "name": "address1", "value": "string", - "description": "A textual identifier that uniquely identifies an autocomplete suggestion or address. This identifier may be used to search for a formatted address.", + "description": "The first line of the street address, including the street number and name. The value is `undefined` if the buyer hasn't entered an address yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5690,7 +6063,7 @@ "description": "", "tabs": [ { - "code": "\"35ef8d55-dceb-4ed8-847b-2f2fc7472f14\"", + "code": "'151 O'Connor Street'", "title": "Example" } ] @@ -5700,16 +6073,17 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "label", + "name": "address2", "value": "string", - "description": "The address suggestion text presented to the buyer in the list of autocomplete suggestions.\n\nThis text is shown to the buyer as-is. No attempts will be made to parse it.", + "description": "The second line of the buyer's address, such as apartment number, suite, or unit. The value is `undefined` if the buyer didn't provide a second address line.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "isOptional": true, "examples": [ { "title": "Example", "description": "", "tabs": [ { - "code": "\"123 Main St, Toronto, ON, CA\"", + "code": "'Ground floor'", "title": "Example" } ] @@ -5719,9 +6093,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "matchedSubstrings", - "value": "MatchedSubstring[]", - "description": "A list of substrings that matched the original search query.\n\nIf `matchedSubstrings` are provided, then they will be used to highlight the substrings of the suggestions that matched the original search query.", + "name": "city", + "value": "string", + "description": "The city, town, or village of the address. The value is `undefined` if the buyer hasn't entered a city yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5729,29 +6103,19 @@ "description": "", "tabs": [ { - "code": "[{offset: 0, length: 4}]", + "code": "'Ottawa'", "title": "Example" } ] } ] - } - ], - "value": "export interface AddressAutocompleteSuggestion {\n /**\n * The address suggestion text presented to the buyer in the list of autocomplete suggestions.\n *\n * This text is shown to the buyer as-is. No attempts will be made to parse it.\n *\n * @example \"123 Main St, Toronto, ON, CA\"\n */\n label: string;\n\n /**\n * A textual identifier that uniquely identifies an autocomplete suggestion\n * or address. This identifier may be used to search for a formatted address.\n *\n * @example \"35ef8d55-dceb-4ed8-847b-2f2fc7472f14\"\n */\n id?: string;\n\n /**\n * A list of substrings that matched the original search query.\n *\n * If `matchedSubstrings` are provided, then they will be used to highlight the substrings\n * of the suggestions that matched the original search query.\n *\n * @example [{offset: 0, length: 4}]\n */\n matchedSubstrings?: MatchedSubstring[];\n\n /**\n * The address object used to auto-populate the remaining address fields.\n *\n * If this value is returned for every suggestion, then the\n * `purchase.address-autocomplete.format-suggestion` extension target is not needed.\n */\n formattedAddress?: AutocompleteAddress;\n}" - } - }, - "AutocompleteAddress": { - "src/surfaces/checkout/api/address-autocomplete/shared.ts": { - "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", - "name": "AutocompleteAddress", - "description": "An address object used to auto-populate the address form fields.\n\nAll fields are optional", - "members": [ + }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "address1", + "name": "company", "value": "string", - "description": "The first line of the street address, including the street number and name. The value is `undefined` if the buyer hasn't entered an address yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "The buyer's company name. The value is `undefined` if the buyer didn't enter a company or the store doesn't collect company names.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5759,7 +6123,7 @@ "description": "", "tabs": [ { - "code": "'151 O'Connor Street'", + "code": "'Shopify'", "title": "Example" } ] @@ -5769,9 +6133,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "address2", - "value": "string", - "description": "The second line of the buyer's address, such as apartment number, suite, or unit. The value is `undefined` if the buyer didn't provide a second address line.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "countryCode", + "value": "CountryCode", + "description": "The two-letter country code in [ISO 3166 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. The value is `undefined` if the buyer hasn't selected a country yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5779,7 +6143,7 @@ "description": "", "tabs": [ { - "code": "'Ground floor'", + "code": "'CA' for Canada.", "title": "Example" } ] @@ -5789,9 +6153,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "city", - "value": "string", - "description": "The city, town, or village of the address. The value is `undefined` if the buyer hasn't entered a city yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "latitude", + "value": "number", + "description": "The latitude coordinates of the buyer.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5799,7 +6163,7 @@ "description": "", "tabs": [ { - "code": "'Ottawa'", + "code": "43.6556377", "title": "Example" } ] @@ -5809,9 +6173,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "company", - "value": "string", - "description": "The buyer's company name. The value is `undefined` if the buyer didn't enter a company or the store doesn't collect company names.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "longitude", + "value": "number", + "description": "The longitude coordinates of the buyer.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5819,7 +6183,7 @@ "description": "", "tabs": [ { - "code": "'Shopify'", + "code": "-79.38681079999999", "title": "Example" } ] @@ -5829,9 +6193,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "countryCode", - "value": "CountryCode", - "description": "The two-letter country code in [ISO 3166 Alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. The value is `undefined` if the buyer hasn't selected a country yet.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "provinceCode", + "value": "string", + "description": "The province, state, prefecture, or region code of the address. The format varies by country. The value is `undefined` if the buyer hasn't selected one yet or the country doesn't have provinces.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5839,7 +6203,7 @@ "description": "", "tabs": [ { - "code": "'CA' for Canada.", + "code": "'ON' for Ontario.", "title": "Example" } ] @@ -5849,9 +6213,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "latitude", - "value": "number", - "description": "The latitude coordinates of the buyer.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "zip", + "value": "string", + "description": "The postal code or ZIP code of the address, used for mail sorting and delivery routing. The value is `undefined` if the buyer hasn't entered one yet or the country doesn't use postal codes.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true, "examples": [ { @@ -5859,19 +6223,38 @@ "description": "", "tabs": [ { - "code": "43.6556377", + "code": "'K2P 2L8'", "title": "Example" } ] } ] + } + ], + "value": "export interface AutocompleteAddress\n extends Pick<\n MailingAddress,\n | 'address1'\n | 'address2'\n | 'city'\n | 'company'\n | 'countryCode'\n | 'provinceCode'\n | 'zip'\n > {\n /**\n * The latitude coordinates of the buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 43.6556377\n */\n latitude?: number;\n\n /**\n * The longitude coordinates of the buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example -79.38681079999999\n */\n longitude?: number;\n}" + } + }, + "AddressAutocompleteSuggestion": { + "src/surfaces/checkout/api/address-autocomplete/shared.ts": { + "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", + "name": "AddressAutocompleteSuggestion", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", + "syntaxKind": "PropertySignature", + "name": "formattedAddress", + "value": "AutocompleteAddress", + "description": "The address object used to auto-populate the remaining address fields.\n\nIf this value is returned for every suggestion, then the `purchase.address-autocomplete.format-suggestion` extension target is not needed.", + "isOptional": true }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "longitude", - "value": "number", - "description": "The longitude coordinates of the buyer.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "id", + "value": "string", + "description": "A textual identifier that uniquely identifies an autocomplete suggestion or address. This identifier may be used to search for a formatted address.", "isOptional": true, "examples": [ { @@ -5879,7 +6262,7 @@ "description": "", "tabs": [ { - "code": "-79.38681079999999", + "code": "\"35ef8d55-dceb-4ed8-847b-2f2fc7472f14\"", "title": "Example" } ] @@ -5889,17 +6272,16 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "provinceCode", + "name": "label", "value": "string", - "description": "The province, state, prefecture, or region code of the address. The format varies by country. The value is `undefined` if the buyer hasn't selected one yet or the country doesn't have provinces.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", - "isOptional": true, + "description": "The address suggestion text presented to the buyer in the list of autocomplete suggestions.\n\nThis text is shown to the buyer as-is. No attempts will be made to parse it.", "examples": [ { "title": "Example", "description": "", "tabs": [ { - "code": "'ON' for Ontario.", + "code": "\"123 Main St, Toronto, ON, CA\"", "title": "Example" } ] @@ -5909,9 +6291,9 @@ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "syntaxKind": "PropertySignature", - "name": "zip", - "value": "string", - "description": "The postal code or ZIP code of the address, used for mail sorting and delivery routing. The value is `undefined` if the buyer hasn't entered one yet or the country doesn't use postal codes.\n\n{% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "name": "matchedSubstrings", + "value": "MatchedSubstring[]", + "description": "A list of substrings that matched the original search query.\n\nIf `matchedSubstrings` are provided, then they will be used to highlight the substrings of the suggestions that matched the original search query.", "isOptional": true, "examples": [ { @@ -5919,7 +6301,7 @@ "description": "", "tabs": [ { - "code": "'K2P 2L8'", + "code": "[{offset: 0, length: 4}]", "title": "Example" } ] @@ -5927,7 +6309,7 @@ ] } ], - "value": "export interface AutocompleteAddress\n extends Pick<\n MailingAddress,\n | 'address1'\n | 'address2'\n | 'city'\n | 'company'\n | 'countryCode'\n | 'provinceCode'\n | 'zip'\n > {\n /**\n * The latitude coordinates of the buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example 43.6556377\n */\n latitude?: number;\n\n /**\n * The longitude coordinates of the buyer.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 2 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * @example -79.38681079999999\n */\n longitude?: number;\n}" + "value": "export interface AddressAutocompleteSuggestion {\n /**\n * The address suggestion text presented to the buyer in the list of autocomplete suggestions.\n *\n * This text is shown to the buyer as-is. No attempts will be made to parse it.\n *\n * @example \"123 Main St, Toronto, ON, CA\"\n */\n label: string;\n\n /**\n * A textual identifier that uniquely identifies an autocomplete suggestion\n * or address. This identifier may be used to search for a formatted address.\n *\n * @example \"35ef8d55-dceb-4ed8-847b-2f2fc7472f14\"\n */\n id?: string;\n\n /**\n * A list of substrings that matched the original search query.\n *\n * If `matchedSubstrings` are provided, then they will be used to highlight the substrings\n * of the suggestions that matched the original search query.\n *\n * @example [{offset: 0, length: 4}]\n */\n matchedSubstrings?: MatchedSubstring[];\n\n /**\n * The address object used to auto-populate the remaining address fields.\n *\n * If this value is returned for every suggestion, then the\n * `purchase.address-autocomplete.format-suggestion` extension target is not needed.\n */\n formattedAddress?: AutocompleteAddress;\n}" } }, "MatchedSubstring": { @@ -5935,6 +6317,7 @@ "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", "name": "MatchedSubstring", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/address-autocomplete/shared.ts", @@ -5954,6 +6337,59 @@ "value": "export interface MatchedSubstring {\n /**\n * The start location of the matched substring in the suggestion label text.\n */\n offset: number;\n /**\n * The length of the matched substring in the suggestion label text.\n */\n length: number;\n}" } }, + "AddressAutocompleteFormatSuggestionApi": { + "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "name": "AddressAutocompleteFormatSuggestionApi", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "syntaxKind": "PropertySignature", + "name": "target", + "value": "Target", + "description": "The autocomplete suggestion that the buyer selected during checkout.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + } + ], + "value": "export interface AddressAutocompleteFormatSuggestionApi {\n /**\n * The autocomplete suggestion that the buyer selected during checkout.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n target: Target;\n}" + } + }, + "Target": { + "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "name": "Target", + "description": "", + "members": [ + { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "syntaxKind": "PropertySignature", + "name": "selectedSuggestion", + "value": "AddressAutocompleteSuggestion", + "description": "" + } + ], + "value": "interface Target {\n selectedSuggestion: AddressAutocompleteSuggestion;\n}" + } + }, + "AddressAutocompleteFormatSuggestionOutput": { + "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "name": "AddressAutocompleteFormatSuggestionOutput", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", + "syntaxKind": "PropertySignature", + "name": "formattedAddress", + "value": "AutocompleteAddress", + "description": "The formatted address that will be used to populate the native address fields." + } + ], + "value": "export interface AddressAutocompleteFormatSuggestionOutput {\n /**\n * The formatted address that will be used to populate the native address fields.\n */\n formattedAddress: AutocompleteAddress;\n}" + } + }, "AddressAutocompleteSuggestApi": { "src/surfaces/checkout/api/address-autocomplete/suggest.ts": { "filePath": "src/surfaces/checkout/api/address-autocomplete/suggest.ts", @@ -5979,6 +6415,24 @@ "value": "export interface AddressAutocompleteSuggestApi {\n /**\n * The signal that the extension should listen to for cancellation requests.\n *\n * If the signal is aborted, the extension should cancel any ongoing requests.\n * The signal will be aborted either when the buyer navigates away from the\n * address field or when the debounced query value changes.\n *\n * Pass this signal to any asynchronous operations that need to be cancelled,\n * like `fetch`.\n */\n signal: AbortSignal;\n\n /**\n * The current state of the address form that the buyer is interacting with.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n target: Target;\n}" } }, + "AddressAutocompleteSuggestOutput": { + "src/surfaces/checkout/api/address-autocomplete/suggest.ts": { + "filePath": "src/surfaces/checkout/api/address-autocomplete/suggest.ts", + "name": "AddressAutocompleteSuggestOutput", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/api/address-autocomplete/suggest.ts", + "syntaxKind": "PropertySignature", + "name": "suggestions", + "value": "AddressAutocompleteSuggestion[]", + "description": "An array of address autocomplete suggestions to show to the buyer. Checkout displays up to five address suggestions. Return no more than five. Additional suggestions are ignored." + } + ], + "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n * Checkout displays up to five address suggestions. Return no more\n * than five. Additional suggestions are ignored.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" + } + }, "AddressAutocompleteStandardApi": { "src/surfaces/checkout/api/address-autocomplete/standard.ts": { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -6041,7 +6495,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -6055,7 +6509,7 @@ "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of 5 minutes.\n\nIf the previous token expires, this value will reflect a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -6106,65 +6560,60 @@ ] } ], - "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Refer to [session token examples](/docs/api/checkout-ui-extensions/apis/session-token) for more information.\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" + "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" } }, - "PaymentOptionItemApi": { + "PaymentMethodAttributesResult": { "src/surfaces/checkout/api/payment/payment-option-item.ts": { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "name": "PaymentOptionItemApi", + "syntaxKind": "TypeAliasDeclaration", + "name": "PaymentMethodAttributesResult", + "value": "PaymentMethodAttributesResultSuccess | PaymentMethodAttributesResultError", + "description": "", + "isPublicDocs": true + } + }, + "PaymentMethodAttributesResultSuccess": { + "src/surfaces/checkout/api/payment/payment-option-item.ts": { + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", + "name": "PaymentMethodAttributesResultSuccess", "description": "", "isPublicDocs": true, "members": [ - { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "syntaxKind": "MethodSignature", - "name": "applyPaymentMethodAttributesChange", - "value": "(change: PaymentMethodAttributesUpdateChange) => Promise", - "description": "Sets the attributes of the related payment method." - }, - { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "syntaxKind": "PropertySignature", - "name": "bankIdNumber", - "value": "SubscribableSignalLike", - "description": "", - "isOptional": true - }, { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", - "name": "paymentMethodAttributes", - "value": "SubscribableSignalLike<\n PaymentMethodAttribute[] | undefined\n >", - "description": "", - "isOptional": true + "name": "type", + "value": "'success'", + "description": "Indicates that the payment method attributes were set successfully." } ], - "value": "export interface PaymentOptionItemApi {\n /**\n * Sets the attributes of the related payment method.\n */\n applyPaymentMethodAttributesChange(\n change: PaymentMethodAttributesChange,\n ): Promise;\n paymentMethodAttributes?: SubscribableSignalLike<\n PaymentMethodAttribute[] | undefined\n >;\n bankIdNumber?: SubscribableSignalLike;\n}" + "value": "export interface PaymentMethodAttributesResultSuccess {\n /**\n * Indicates that the payment method attributes were set successfully.\n */\n type: 'success';\n}" } }, - "PaymentMethodAttributesUpdateChange": { + "PaymentMethodAttributesResultError": { "src/surfaces/checkout/api/payment/payment-option-item.ts": { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "name": "PaymentMethodAttributesUpdateChange", + "name": "PaymentMethodAttributesResultError", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", - "name": "attributes", - "value": "PaymentMethodAttribute[]", - "description": "The payment method attributes" + "name": "message", + "value": "string", + "description": "A message that explains the error. This message is useful for debugging. It is **not** localized, and therefore should not be presented directly to the buyer." }, { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'updatePaymentMethodAttributes'", - "description": "The type of the `PaymentMethodAttributesChange` API." + "value": "'error'", + "description": "Indicates that the payment method attributes were not set successfully." } ], - "value": "export interface PaymentMethodAttributesUpdateChange {\n /**\n * The type of the `PaymentMethodAttributesChange` API.\n */\n type: 'updatePaymentMethodAttributes';\n\n /**\n * The payment method attributes\n */\n attributes: PaymentMethodAttribute[];\n}" + "value": "export interface PaymentMethodAttributesResultError {\n /**\n * Indicates that the payment method attributes were not set successfully.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It is **not** localized, and therefore should not be presented directly\n * to the buyer.\n */\n message: string;\n}" } }, "PaymentMethodAttribute": { @@ -6172,6 +6621,7 @@ "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "name": "PaymentMethodAttribute", "description": "A key-value pair that represents an attribute of a payment method.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", @@ -6191,128 +6641,210 @@ "value": "export interface PaymentMethodAttribute {\n key: string;\n value: string | number | boolean;\n}" } }, - "PaymentMethodAttributesResult": { + "PaymentMethodAttributesChange": { "src/surfaces/checkout/api/payment/payment-option-item.ts": { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "TypeAliasDeclaration", - "name": "PaymentMethodAttributesResult", - "value": "PaymentMethodAttributesResultSuccess | PaymentMethodAttributesResultError", - "description": "" - } - }, - "PaymentMethodAttributesResultSuccess": { - "src/surfaces/checkout/api/payment/payment-option-item.ts": { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "name": "PaymentMethodAttributesResultSuccess", + "name": "PaymentMethodAttributesChange", + "value": "PaymentMethodAttributesUpdateChange", "description": "", + "isPublicDocs": true, "members": [ + { + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", + "syntaxKind": "PropertySignature", + "name": "attributes", + "value": "PaymentMethodAttribute[]", + "description": "The payment method attributes" + }, { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'success'", - "description": "Indicates that the payment method attributes were set successfully." + "value": "'updatePaymentMethodAttributes'", + "description": "The type of the `PaymentMethodAttributesChange` API." } - ], - "value": "export interface PaymentMethodAttributesResultSuccess {\n /**\n * Indicates that the payment method attributes were set successfully.\n */\n type: 'success';\n}" + ] } }, - "PaymentMethodAttributesResultError": { + "PaymentMethodAttributesUpdateChange": { "src/surfaces/checkout/api/payment/payment-option-item.ts": { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "name": "PaymentMethodAttributesResultError", + "name": "PaymentMethodAttributesUpdateChange", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", - "name": "message", - "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It is **not** localized, and therefore should not be presented directly to the buyer." + "name": "attributes", + "value": "PaymentMethodAttribute[]", + "description": "The payment method attributes" }, { "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'error'", - "description": "Indicates that the payment method attributes were not set successfully." + "value": "'updatePaymentMethodAttributes'", + "description": "The type of the `PaymentMethodAttributesChange` API." } ], - "value": "export interface PaymentMethodAttributesResultError {\n /**\n * Indicates that the payment method attributes were not set successfully.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It is **not** localized, and therefore should not be presented directly\n * to the buyer.\n */\n message: string;\n}" + "value": "export interface PaymentMethodAttributesUpdateChange {\n /**\n * The type of the `PaymentMethodAttributesChange` API.\n */\n type: 'updatePaymentMethodAttributes';\n\n /**\n * The payment method attributes\n */\n attributes: PaymentMethodAttribute[];\n}" } }, - "DocsStyle": { - "src/surfaces/checkout/style/style.ts": { - "filePath": "src/surfaces/checkout/style/style.ts", - "name": "DocsStyle", + "PaymentOptionItemApi": { + "src/surfaces/checkout/api/payment/payment-option-item.ts": { + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", + "name": "PaymentOptionItemApi", "description": "", "isPublicDocs": true, "members": [ { - "filePath": "src/surfaces/checkout/style/style.ts", + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", + "syntaxKind": "MethodSignature", + "name": "applyPaymentMethodAttributesChange", + "value": "(change: PaymentMethodAttributesUpdateChange) => Promise", + "description": "Sets the attributes of the related payment method." + }, + { + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", - "name": "default", - "value": "(defaultValue: T) => StylesConditionalStyle", - "description": "Sets an optional default value to use when no other condition is met." + "name": "bankIdNumber", + "value": "SubscribableSignalLike", + "description": "", + "isOptional": true }, { - "filePath": "src/surfaces/checkout/style/style.ts", + "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", "syntaxKind": "PropertySignature", - "name": "when", - "value": "(conditions: StylesConditions, value: T) => StylesConditionalStyle", - "description": "Adjusts the style based on different conditions. All conditions, expressed as a literal object, must be met for the associated value to be applied.\n\nThe `when` method can be chained together to build more complex styles." + "name": "paymentMethodAttributes", + "value": "SubscribableSignalLike<\n PaymentMethodAttribute[] | undefined\n >", + "description": "", + "isOptional": true } ], - "value": "export interface DocsStyle {\n /**\n * Sets an optional default value to use when no other condition is met.\n *\n * @param defaultValue The default value\n * @returns The chainable condition style\n */\n default: (defaultValue: T) => StylesConditionalStyle;\n /**\n * Adjusts the style based on different conditions. All conditions, expressed\n * as a literal object, must be met for the associated value to be applied.\n *\n * The `when` method can be chained together to build more complex styles.\n *\n * @param conditions The condition(s)\n * @param value The conditional value that can be applied if the conditions are met\n * @returns The chainable condition style\n */\n when: (\n conditions: StylesConditions,\n value: T,\n ) => StylesConditionalStyle;\n}" + "value": "export interface PaymentOptionItemApi {\n /**\n * Sets the attributes of the related payment method.\n */\n applyPaymentMethodAttributesChange(\n change: PaymentMethodAttributesChange,\n ): Promise;\n paymentMethodAttributes?: SubscribableSignalLike<\n PaymentMethodAttribute[] | undefined\n >;\n bankIdNumber?: SubscribableSignalLike;\n}" } }, - "StylesConditionalStyle": { + "Resolution": { "src/surfaces/checkout/style/types.ts": { "filePath": "src/surfaces/checkout/style/types.ts", - "name": "StylesConditionalStyle", + "syntaxKind": "TypeAliasDeclaration", + "name": "Resolution", + "value": "1 | 1.3 | 1.5 | 2 | 2.6 | 3 | 3.5 | 4", + "description": "", + "isPublicDocs": true + } + }, + "InteractiveConditions": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "InteractiveConditions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/style/types.ts", "syntaxKind": "PropertySignature", - "name": "conditionals", - "value": "StylesConditionalValue[]", - "description": "An array of conditional values." + "name": "focus", + "value": "true", + "description": "" }, { "filePath": "src/surfaces/checkout/style/types.ts", "syntaxKind": "PropertySignature", - "name": "default", - "value": "T", - "description": "The default value applied when none of the conditional values specified in `conditionals` are met.", - "isOptional": true + "name": "hover", + "value": "true", + "description": "" } ], - "value": "export interface StylesConditionalStyle<\n T,\n AcceptedConditions extends StylesBaseConditions = StylesBaseConditions,\n> {\n /**\n * The default value applied when none of the conditional values\n * specified in `conditionals` are met.\n */\n default?: T;\n /**\n * An array of conditional values.\n */\n conditionals: StylesConditionalValue[];\n}" + "value": "export interface InteractiveConditions {\n hover: true;\n focus: true;\n}" } }, - "StylesConditionalValue": { + "ResolutionCondition": { "src/surfaces/checkout/style/types.ts": { "filePath": "src/surfaces/checkout/style/types.ts", - "name": "StylesConditionalValue", + "name": "ResolutionCondition", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/style/types.ts", "syntaxKind": "PropertySignature", - "name": "conditions", - "value": "AcceptedConditions", - "description": "The conditions that must be met for the value to be applied. At least one condition must be specified." - }, + "name": "resolution", + "value": "Resolution", + "description": "" + } + ], + "value": "export interface ResolutionCondition {\n resolution: Resolution;\n}" + } + }, + "ViewportInlineSize": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "ViewportInlineSize", + "value": "'extraSmall' | 'small' | 'medium' | 'large'", + "description": "", + "isPublicDocs": true + } + }, + "ViewportSizeCondition": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "ViewportSizeCondition", + "description": "", + "isPublicDocs": true, + "members": [ { "filePath": "src/surfaces/checkout/style/types.ts", "syntaxKind": "PropertySignature", - "name": "value", - "value": "T", - "description": "The value that will be applied if the conditions are met." + "name": "viewportInlineSize", + "value": "{ min: T; }", + "description": "" } ], - "value": "export interface StylesConditionalValue<\n T,\n AcceptedConditions extends StylesBaseConditions = StylesBaseConditions,\n> {\n /**\n * The conditions that must be met for the value to be applied. At least one\n * condition must be specified.\n */\n conditions: AcceptedConditions;\n /**\n * The value that will be applied if the conditions are met.\n */\n value: T;\n}" + "value": "export interface ViewportSizeCondition {\n viewportInlineSize: {min: T};\n}" + } + }, + "AtLeastOne": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "AtLeastOne", + "value": "Partial & U[keyof U]", + "description": "", + "isPublicDocs": true + } + }, + "DefaultConditions": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "DefaultConditions", + "value": "InteractiveConditions & ViewportSizeCondition", + "description": "", + "isPublicDocs": true + } + }, + "Conditions": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "Conditions", + "value": "AtLeastOne", + "description": "", + "isPublicDocs": true + } + }, + "BaseConditions": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "BaseConditions", + "value": "AtLeastOne<\n DefaultConditions & ResolutionCondition\n>", + "description": "", + "isPublicDocs": true } }, "StylesBaseConditions": { @@ -6320,6 +6852,7 @@ "filePath": "src/surfaces/checkout/style/types.ts", "name": "StylesBaseConditions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/style/types.ts", @@ -6357,20 +6890,12 @@ "value": "export interface StylesBaseConditions {\n viewportInlineSize?: {min: ViewportInlineSize};\n hover?: true;\n focus?: true;\n resolution?: 1 | 1.3 | 1.5 | 2 | 2.6 | 3 | 3.5 | 4;\n}" } }, - "ViewportInlineSize": { - "src/surfaces/checkout/style/types.ts": { - "filePath": "src/surfaces/checkout/style/types.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "ViewportInlineSize", - "value": "'extraSmall' | 'small' | 'medium' | 'large'", - "description": "" - } - }, "StylesConditions": { "src/surfaces/checkout/style/types.ts": { "filePath": "src/surfaces/checkout/style/types.ts", "name": "StylesConditions", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/style/types.ts", @@ -6400,6 +6925,153 @@ "value": "export interface StylesConditions {\n viewportInlineSize?: {min: ViewportInlineSize};\n hover?: true;\n focus?: true;\n}" } }, + "StylesConditionalValue": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "StylesConditionalValue", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "conditions", + "value": "AcceptedConditions", + "description": "The conditions that must be met for the value to be applied. At least one condition must be specified." + }, + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "value", + "value": "T", + "description": "The value that will be applied if the conditions are met." + } + ], + "value": "export interface StylesConditionalValue<\n T,\n AcceptedConditions extends StylesBaseConditions = StylesBaseConditions,\n> {\n /**\n * The conditions that must be met for the value to be applied. At least one\n * condition must be specified.\n */\n conditions: AcceptedConditions;\n /**\n * The value that will be applied if the conditions are met.\n */\n value: T;\n}" + } + }, + "StylesConditionalStyle": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "StylesConditionalStyle", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "conditionals", + "value": "StylesConditionalValue[]", + "description": "An array of conditional values." + }, + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "default", + "value": "T", + "description": "The default value applied when none of the conditional values specified in `conditionals` are met.", + "isOptional": true + } + ], + "value": "export interface StylesConditionalStyle<\n T,\n AcceptedConditions extends StylesBaseConditions = StylesBaseConditions,\n> {\n /**\n * The default value applied when none of the conditional values\n * specified in `conditionals` are met.\n */\n default?: T;\n /**\n * An array of conditional values.\n */\n conditionals: StylesConditionalValue[];\n}" + } + }, + "ConditionalValue": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "ConditionalValue", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "conditions", + "value": "AcceptedConditions", + "description": "The conditions that must be met for the value to be applied. At least one condition must be specified." + }, + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "value", + "value": "T", + "description": "The value that will be applied if the conditions are met." + } + ], + "value": "export interface ConditionalValue<\n T,\n AcceptedConditions extends BaseConditions = Conditions,\n> {\n /**\n * The conditions that must be met for the value to be applied. At least one\n * condition must be specified.\n */\n conditions: AcceptedConditions;\n /**\n * The value that will be applied if the conditions are met.\n */\n value: T;\n}" + } + }, + "ConditionalStyle": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "name": "ConditionalStyle", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "conditionals", + "value": "ConditionalValue[]", + "description": "An array of conditional values." + }, + { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "PropertySignature", + "name": "default", + "value": "T", + "description": "The default value applied when none of the conditional values specified in `conditionals` are met.", + "isOptional": true + } + ], + "value": "export interface ConditionalStyle<\n T,\n AcceptedConditions extends BaseConditions = Conditions,\n> {\n /**\n * The default value applied when none of the conditional values\n * specified in `conditionals` are met.\n */\n default?: T;\n /**\n * An array of conditional values.\n */\n conditionals: ConditionalValue[];\n}" + } + }, + "MaybeConditionalStyle": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "MaybeConditionalStyle", + "value": "T | ConditionalStyle", + "description": "A type that represents a value that can be a conditional style. We highly recommend using the `Style` helper which simplifies the creation of conditional styles.", + "isPublicDocs": true + } + }, + "MaybeResponsiveConditionalStyle": { + "src/surfaces/checkout/style/types.ts": { + "filePath": "src/surfaces/checkout/style/types.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "MaybeResponsiveConditionalStyle", + "value": "T | ConditionalStyle", + "description": "A type that represents a value that can be a conditional style. The conditions are based on the viewport size. We highly recommend using the `Style` helper which simplifies the creation of conditional styles.", + "isPublicDocs": true + } + }, + "DocsStyle": { + "src/surfaces/checkout/style/style.ts": { + "filePath": "src/surfaces/checkout/style/style.ts", + "name": "DocsStyle", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/style/style.ts", + "syntaxKind": "PropertySignature", + "name": "default", + "value": "(defaultValue: T) => StylesConditionalStyle", + "description": "Sets an optional default value to use when no other condition is met." + }, + { + "filePath": "src/surfaces/checkout/style/style.ts", + "syntaxKind": "PropertySignature", + "name": "when", + "value": "(conditions: StylesConditions, value: T) => StylesConditionalStyle", + "description": "Adjusts the style based on different conditions. All conditions, expressed as a literal object, must be met for the associated value to be applied.\n\nThe `when` method can be chained together to build more complex styles." + } + ], + "value": "export interface DocsStyle {\n /**\n * Sets an optional default value to use when no other condition is met.\n *\n * @param defaultValue The default value\n * @returns The chainable condition style\n */\n default: (defaultValue: T) => StylesConditionalStyle;\n /**\n * Adjusts the style based on different conditions. All conditions, expressed\n * as a literal object, must be met for the associated value to be applied.\n *\n * The `when` method can be chained together to build more complex styles.\n *\n * @param conditions The condition(s)\n * @param value The conditional value that can be applied if the conditions are met\n * @returns The chainable condition style\n */\n when: (\n conditions: StylesConditions,\n value: T,\n ) => StylesConditionalStyle;\n}" + } + }, "ShopifyGlobal": { "src/surfaces/checkout/globals.ts": { "filePath": "src/surfaces/checkout/globals.ts", @@ -6440,6 +7112,7 @@ "filePath": "src/surfaces/checkout/extension-targets.ts", "name": "ExtensionTargets", "description": "A union of all extension targets. This is a special interface that is referenced by name \"ExtensionTargets\", in the `buildTargetDts.ts` script in ui-extensions. It is used to to generate the `shopify.d.ts` file, to provide type safety when coding UI extensions.", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/extension-targets.ts", @@ -7023,40 +7696,6 @@ "value": "export interface RunnableExtension {\n /**\n * The API object providing access to extension capabilities and methods. The specific API type depends on the extension target and determines what functionality is available to your extension.\n */\n api: Api;\n /**\n * The function output. Your extension function should return the expected output type or a Promise that resolves to that type. The output type is determined by your specific extension target and use case.\n */\n output: Output | Promise;\n}" } }, - "AddressAutocompleteFormatSuggestionOutput": { - "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts": { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "name": "AddressAutocompleteFormatSuggestionOutput", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts", - "syntaxKind": "PropertySignature", - "name": "formattedAddress", - "value": "AutocompleteAddress", - "description": "The formatted address that will be used to populate the native address fields." - } - ], - "value": "export interface AddressAutocompleteFormatSuggestionOutput {\n /**\n * The formatted address that will be used to populate the native address fields.\n */\n formattedAddress: AutocompleteAddress;\n}" - } - }, - "AddressAutocompleteSuggestOutput": { - "src/surfaces/checkout/api/address-autocomplete/suggest.ts": { - "filePath": "src/surfaces/checkout/api/address-autocomplete/suggest.ts", - "name": "AddressAutocompleteSuggestOutput", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/api/address-autocomplete/suggest.ts", - "syntaxKind": "PropertySignature", - "name": "suggestions", - "value": "AddressAutocompleteSuggestion[]", - "description": "An array of address autocomplete suggestions to show to the buyer.\n\n> Note: Only the first five suggestions will be displayed to the buyer." - } - ], - "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n *\n * > Note: Only the first five suggestions will be displayed to the buyer.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" - } - }, "AllowedComponents": { "src/surfaces/checkout/shared.ts": { "filePath": "src/surfaces/checkout/shared.ts", @@ -7602,6 +8241,26 @@ "value": "export interface RunnableExtensionTargets {\n /**\n * An extension target that provides address autocomplete suggestions. These suggestions are shown to buyers as they\n * interact with address forms during checkout.\n *\n * It must return a list of address suggestions. If a formatted address is provided with each suggestion, it will be\n * used to auto-populate the fields in the address form when the buyer selects a suggestion.\n *\n * This target does not support rendering UI components.\n */\n 'purchase.address-autocomplete.suggest': RunnableExtension<\n AddressAutocompleteStandardApi<'purchase.address-autocomplete.suggest'> &\n AddressAutocompleteSuggestApi,\n AddressAutocompleteSuggestOutput\n >;\n /**\n * An extension target that formats the selected address suggestion provided by a\n * `purchase.address-autocomplete.suggest` target. This address is used to auto-populate the fields in the address\n * form.\n *\n * It must return a formatted address.\n *\n * This target does not support rendering UI components.\n */\n 'purchase.address-autocomplete.format-suggestion': RunnableExtension<\n AddressAutocompleteStandardApi<'purchase.address-autocomplete.format-suggestion'> &\n AddressAutocompleteFormatSuggestionApi,\n AddressAutocompleteFormatSuggestionOutput\n >;\n}" } }, + "AvailableExtensionDefinitions": { + "src/surfaces/checkout/extension-targets.ts": { + "filePath": "src/surfaces/checkout/extension-targets.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "AvailableExtensionDefinitions", + "value": "RenderExtension | RunnableExtension", + "description": "", + "isPublicDocs": true + } + }, + "ReturnTypeForExtension": { + "src/surfaces/checkout/extension-targets.ts": { + "filePath": "src/surfaces/checkout/extension-targets.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "ReturnTypeForExtension", + "value": "ReturnTypeForExtension", + "description": "For a given extension target, returns the value that is expected to be returned by that extension target’s callback type.", + "isPublicDocs": true + } + }, "ApiForExtension": { "src/surfaces/checkout/extension-targets.ts": { "filePath": "src/surfaces/checkout/extension-targets.ts", @@ -7628,7 +8287,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "RenderExtensions", "value": "{\n [Target in RenderExtensionTarget]: RenderExtensionTargets[Target];\n}", - "description": "A mapping of each \u201crender extension\u201d name to its callback type.", + "description": "A mapping of each “render extension” name to its callback type.", "isPublicDocs": true } }, @@ -7711,7 +8370,7 @@ "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true } ], @@ -7748,7 +8407,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." } ], @@ -7804,7 +8463,7 @@ "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." } ], "value": "export interface Docs_Standard_CartInstructionsApi\n extends Pick {}" @@ -7840,7 +8499,7 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_CartLinesApi\n extends Pick {}" @@ -7858,7 +8517,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], "value": "export interface Docs_CartLineItem_CartLinesApi\n extends Pick {}" @@ -7894,14 +8553,14 @@ "syntaxKind": "PropertySignature", "name": "i18n", "value": "I18n", - "description": "Utilities for translating content and formatting values according to the current [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) of the checkout.\n\nRefer to [`localization` examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#examples) for more information." + "description": "Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Use alongside [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization) to build fully localized extensions." }, { "filePath": "src/surfaces/checkout/api/docs.ts", "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." } ], "value": "export interface Docs_Standard_LocalizationApi\n extends Pick {}" @@ -7956,7 +8615,7 @@ "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_MetafieldsApi\n extends Pick {}" @@ -7974,7 +8633,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." } ], "value": "export interface Docs_Standard_DeliveryApi\n extends Pick {}" @@ -7992,7 +8651,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." } ], "value": "export interface Docs_Standard_CheckoutTokenApi\n extends Pick {}" @@ -8010,7 +8669,7 @@ "syntaxKind": "PropertySignature", "name": "extension", "value": "Extension", - "description": "The meta information about the extension." + "description": "Metadata about the running extension, including the current target, API version, capabilities, and editor context. Use this to conditionally render content based on where the extension is running." } ], "value": "export interface Docs_Standard_ExtensionMetaApi\n extends Pick {}" @@ -8046,7 +8705,7 @@ "syntaxKind": "PropertySignature", "name": "shop", "value": "Shop", - "description": "The shop where the checkout is taking place." + "description": "The store where the checkout is taking place, including the shop name, storefront URL, `.myshopify.com` subdomain, and a globally-unique ID." } ], "value": "export interface Docs_Standard_ShopApi extends Pick {}" @@ -8082,7 +8741,7 @@ "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_NoteApi\n extends Pick {}" @@ -8100,14 +8759,14 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/docs.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." } ], "value": "export interface Docs_Standard_PaymentOptionsApi\n extends Pick<\n StandardApi,\n 'availablePaymentOptions' | 'selectedPaymentOptions'\n > {}" @@ -8143,7 +8802,7 @@ "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_GiftCardsApi\n extends Pick {}" @@ -8186,7 +8845,7 @@ "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." } ], "value": "export interface Docs_Checkout_DiscountsApi\n extends Pick {}" @@ -8204,7 +8863,7 @@ "syntaxKind": "PropertySignature", "name": "sessionToken", "value": "SessionToken", - "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nRefer to [session token examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/session-token) for more information." + "description": "The session token providing a set of claims as a signed JSON Web Token (JWT).\n\nThe token has a TTL of five minutes.\n\nIf the previous token expires, this value reflects a new session token with a new signature and expiry.\n\nLearn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens)." } ], "value": "export interface Docs_Standard_SessionTokenApi\n extends Pick {}" @@ -8240,7 +8899,7 @@ "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "The key-value storage for the extension.\n\nIt uses `localStorage` and should persist across the customer's current checkout session.\n\n> Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n\nData is shared across all activated extension targets of this extension. In versions 2023-07 and earlier, each activated extension target had its own storage." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." } ], "value": "export interface Docs_Standard_StorageApi\n extends Pick {}" @@ -8258,7 +8917,7 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." } ], "value": "export interface Docs_Standard_QueryApi extends Pick {}" @@ -8276,7 +8935,7 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "Analytics", - "description": "The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event." + "description": "Tracks custom events and sends visitor information to [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events and `visitor()` to submit buyer contact details." } ], "value": "export interface Docs_Standard_AnalyticsApi\n extends Pick {}" @@ -8294,7 +8953,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/docs.ts", @@ -8362,7 +9021,7 @@ "src/surfaces/checkout/components/Abbreviation.ts": { "filePath": "src/surfaces/checkout/components/Abbreviation.ts", "name": "AbbreviationElementProps", - "description": "The element props interface for the Abbreviation component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -8378,7 +9037,7 @@ "syntaxKind": "PropertySignature", "name": "title", "value": "string", - "description": "Defines the full expansion of the abbreviation or acronym.\n\nHelps user agents and users understand the meaning of the abbreviated text.", + "description": "Defines the full expansion of the abbreviation or acronym. Helps user agents and users understand the meaning of the abbreviated text.\n\nLearn more about the [abbreviation element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr).", "isOptional": true, "defaultValue": "''" } @@ -10630,7 +11289,7 @@ "syntaxKind": "PropertySignature", "name": "title", "value": "string", - "description": "Defines the full expansion of the abbreviation or acronym.\n\nHelps user agents and users understand the meaning of the abbreviated text.", + "description": "Defines the full expansion of the abbreviation or acronym. Helps user agents and users understand the meaning of the abbreviated text.\n\nLearn more about the [abbreviation element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr).", "isOptional": true, "defaultValue": "''" }, @@ -10693,7 +11352,7 @@ "syntaxKind": "PropertySignature", "name": "title", "value": "string", - "description": "Defines the full expansion of the abbreviation or acronym.\n\nHelps user agents and users understand the meaning of the abbreviated text.", + "description": "Defines the full expansion of the abbreviation or acronym. Helps user agents and users understand the meaning of the abbreviated text.\n\nLearn more about the [abbreviation element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr).", "isOptional": true, "defaultValue": "''" } @@ -10712,7 +11371,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -10720,7 +11379,7 @@ "syntaxKind": "PropertySignature", "name": "onDismiss", "value": "(event: Event) => void", - "description": "Callback fired when the announcement is dismissed by the user (either via the built-in dismiss button or programmatically).", + "description": "A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.", "isOptional": true }, { @@ -10728,7 +11387,7 @@ "syntaxKind": "PropertySignature", "name": "onToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], @@ -10739,7 +11398,7 @@ "src/surfaces/checkout/components/Announcement.ts": { "filePath": "src/surfaces/checkout/components/Announcement.ts", "name": "AnnouncementElementEvents", - "description": "The events interface for the Announcement component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -10747,7 +11406,7 @@ "syntaxKind": "PropertySignature", "name": "aftertoggle", "value": "CallbackEventListener", - "description": "Callback fired when the element state changes **after** any animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback that fires when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true }, { @@ -10755,7 +11414,7 @@ "syntaxKind": "PropertySignature", "name": "dismiss", "value": "CallbackEventListener", - "description": "Callback fired when the announcement is dismissed by the user (either via the built-in dismiss button or programmatically).", + "description": "A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.", "isOptional": true }, { @@ -10763,11 +11422,11 @@ "syntaxKind": "PropertySignature", "name": "toggle", "value": "CallbackEventListener", - "description": "Callback straight after the element state changes.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback that fires immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], - "value": "export interface AnnouncementElementEvents {\n /**\n * Callback fired when the element state changes **after** any animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n aftertoggle?: CallbackEventListener;\n /**\n * Callback fired when the announcement is dismissed by the user\n * (either via the built-in dismiss button or programmatically).\n */\n dismiss?: CallbackEventListener;\n /**\n * Callback straight after the element state changes.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n toggle?: CallbackEventListener;\n}" + "value": "export interface AnnouncementElementEvents {\n /**\n * A callback that fires when the element state changes, after any toggle animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n aftertoggle?: CallbackEventListener;\n /**\n * A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.\n */\n dismiss?: CallbackEventListener;\n /**\n * A callback that fires immediately when the element state changes, before any animations.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n toggle?: CallbackEventListener;\n}" } }, "CallbackEventListener": { @@ -10792,14 +11451,14 @@ "src/surfaces/checkout/components/Announcement.ts": { "filePath": "src/surfaces/checkout/components/Announcement.ts", "name": "ToggleArgumentsEvent", - "description": "", + "description": "The event data provided to toggle-related callbacks. Contains the previous and next visibility states of the element.", "members": [ { "filePath": "src/surfaces/checkout/components/Announcement.ts", "syntaxKind": "PropertySignature", "name": "newState", "value": "ToggleState", - "description": "", + "description": "The visibility state of the element after the toggle occurred.", "isOptional": true }, { @@ -10807,11 +11466,11 @@ "syntaxKind": "PropertySignature", "name": "oldState", "value": "ToggleState", - "description": "", + "description": "The visibility state of the element before the toggle occurred.", "isOptional": true } ], - "value": "export interface ToggleArgumentsEvent {\n oldState?: ToggleState;\n newState?: ToggleState;\n}" + "value": "export interface ToggleArgumentsEvent {\n /**\n * The visibility state of the element before the toggle occurred.\n */\n oldState?: ToggleState;\n /**\n * The visibility state of the element after the toggle occurred.\n */\n newState?: ToggleState;\n}" } }, "ToggleState": { @@ -10820,7 +11479,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ToggleState", "value": "'open' | 'closed'", - "description": "" + "description": "The visibility state of a toggleable element.\n\n- `open`: The element is visible and showing its content.\n- `closed`: The element is hidden and its content is not visible." } }, "AnnouncementElement": { @@ -11478,7 +12137,7 @@ "syntaxKind": "PropertySignature", "name": "dismiss", "value": "() => void", - "description": "" + "description": "Programmatically dismisses the announcement. This triggers the `dismiss` event callback." }, { "filePath": "src/surfaces/checkout/components/Announcement.ts", @@ -13136,7 +13795,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -13144,7 +13803,7 @@ "syntaxKind": "PropertySignature", "name": "onDismiss", "value": "(event: Event) => void", - "description": "Callback fired when the announcement is dismissed by the user (either via the built-in dismiss button or programmatically).", + "description": "A callback that fires when the announcement is dismissed by the user clicking the close button or by calling the `dismiss()` method programmatically.", "isOptional": true }, { @@ -13152,7 +13811,7 @@ "syntaxKind": "PropertySignature", "name": "onToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], @@ -13170,17 +13829,17 @@ "syntaxKind": "PropertySignature", "name": "dismiss", "value": "() => void", - "description": "" + "description": "Programmatically dismisses the announcement. This triggers the `dismiss` event callback." } ], - "value": "export interface AnnouncementMethods {\n dismiss: () => void;\n}" + "value": "export interface AnnouncementMethods {\n /**\n * Programmatically dismisses the announcement. This triggers the `dismiss` event callback.\n */\n dismiss: () => void;\n}" } }, "AnnouncementElementMethods": { "src/surfaces/checkout/components/Announcement.ts": { "filePath": "src/surfaces/checkout/components/Announcement.ts", "name": "AnnouncementElementMethods", - "description": "The methods interface for the Announcement component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -13188,10 +13847,10 @@ "syntaxKind": "PropertySignature", "name": "dismiss", "value": "() => void", - "description": "" + "description": "Programmatically dismisses the announcement. This triggers the `dismiss` event callback." } ], - "value": "export interface AnnouncementElementMethods {\n dismiss: AnnouncementMethods['dismiss'];\n}" + "value": "export interface AnnouncementElementMethods {\n /**\n * Programmatically dismisses the announcement. This triggers the `dismiss` event callback.\n */\n dismiss: AnnouncementMethods['dismiss'];\n}" } }, "ReducedIconTypes": { @@ -13200,14 +13859,15 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ReducedIconTypes", "value": "'cart' | 'note' | 'settings' | 'reset' | 'map' | 'menu' | 'search' | 'circle' | 'filter' | 'image' | 'alert-circle' | 'alert-triangle-filled' | 'alert-triangle' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up-right' | 'arrow-up' | 'bag' | 'bullet' | 'calendar' | 'camera' | 'caret-down' | 'cash-dollar' | 'categories' | 'check-circle' | 'check-circle-filled' | 'check' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'clipboard' | 'clock' | 'credit-card' | 'delete' | 'delivered' | 'delivery' | 'disabled' | 'discount' | 'edit' | 'email' | 'empty' | 'external' | 'geolocation' | 'gift-card' | 'globe' | 'grid' | 'info-filled' | 'info' | 'list-bulleted' | 'location' | 'lock' | 'menu-horizontal' | 'menu-vertical' | 'minus' | 'mobile' | 'order' | 'organization' | 'plus' | 'profile' | 'question-circle-filled' | 'question-circle' | 'reorder' | 'return' | 'savings' | 'star-filled' | 'star-half' | 'star' | 'store' | 'truck' | 'upload' | 'x-circle-filled' | 'x-circle' | 'x'", - "description": "" + "description": "The subset of icon types available in checkout and customer account surfaces. This is a narrowed set from the full Shopify icon library, containing only the icons supported in these contexts.", + "isPublicDocs": true } }, "BadgeElementProps": { "src/surfaces/checkout/components/Badge.ts": { "filePath": "src/surfaces/checkout/components/Badge.ts", "name": "BadgeElementProps", - "description": "The element props interface for the Badge component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -13215,7 +13875,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "Controls the visual weight and emphasis of the badge.\n\n- `base`: Standard weight with moderate emphasis, suitable for most use cases.\n- `subdued`: Reduced visual weight for less prominent or secondary badges.", "isOptional": true, "defaultValue": "'base'" }, @@ -13224,7 +13884,7 @@ "syntaxKind": "PropertySignature", "name": "icon", "value": "'' | ReducedIconTypes", - "description": "The type of icon to be displayed in the badge.", + "description": "An icon displayed inside the badge to provide additional visual context or reinforce the badge's meaning. Set to an empty string to display no icon.", "isOptional": true, "defaultValue": "''" }, @@ -13233,7 +13893,7 @@ "syntaxKind": "PropertySignature", "name": "iconPosition", "value": "'start' | 'end'", - "description": "The position of the icon in relation to the text.", + "description": "The position of the icon relative to the badge text.\n\n- `start`: Places the icon before the text.\n- `end`: Places the icon after the text.", "isOptional": true }, { @@ -13249,7 +13909,7 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'base' | 'small-100'", - "description": "Adjusts the size.", + "description": "The size of the badge.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A smaller badge for compact layouts.\n- `small-100`: The smallest badge for tight spaces or dense lists.", "isOptional": true, "defaultValue": "'base'" }, @@ -13258,12 +13918,12 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Badge, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the badge.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `critical`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" } ], - "value": "export interface BadgeElementProps extends Pick {\n size?: Extract;\n tone?: Extract;\n color?: Extract;\n icon?: '' | ReducedIconTypes;\n}" + "value": "export interface BadgeElementProps extends Pick {\n /**\n * The size of the badge.\n *\n * - `base`: The default size, suitable for most use cases.\n * - `small`: A smaller badge for compact layouts.\n * - `small-100`: The smallest badge for tight spaces or dense lists.\n *\n * @default 'base'\n */\n size?: Extract;\n /**\n * The semantic meaning and color treatment of the badge.\n *\n * - `auto`: Automatically determined based on context.\n * - `neutral`: General information without specific intent.\n * - `critical`: Urgent problems or destructive actions.\n *\n * @default 'auto'\n */\n tone?: Extract;\n /**\n * Controls the visual weight and emphasis of the badge.\n *\n * - `base`: Standard weight with moderate emphasis, suitable for most use cases.\n * - `subdued`: Reduced visual weight for less prominent or secondary badges.\n *\n * @default 'base'\n */\n color?: Extract;\n /**\n * An icon displayed inside the badge to provide additional visual context or reinforce the badge's meaning. Set to an empty string to display no icon.\n *\n * @default ''\n */\n icon?: '' | ReducedIconTypes;\n /**\n * The position of the icon relative to the badge text.\n *\n * - `start`: Places the icon before the text.\n * - `end`: Places the icon after the text.\n */\n iconPosition?: BadgeProps$1['iconPosition'];\n}" } }, "BadgeElement": { @@ -13865,7 +14525,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "Controls the visual weight and emphasis of the badge.\n\n- `base`: Standard weight with moderate emphasis, suitable for most use cases.\n- `subdued`: Reduced visual weight for less prominent or secondary badges.", "isOptional": true, "defaultValue": "'base'" }, @@ -14197,15 +14857,16 @@ "syntaxKind": "PropertySignature", "name": "icon", "value": "'' | ReducedIconTypes", - "description": "The type of icon to be displayed in the badge.", - "isOptional": true + "description": "An icon displayed inside the badge to provide additional visual context or reinforce the badge's meaning. Set to an empty string to display no icon.", + "isOptional": true, + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/Badge.ts", "syntaxKind": "PropertySignature", "name": "iconPosition", "value": "'start' | 'end'", - "description": "The position of the icon in relation to the text.", + "description": "The position of the icon relative to the badge text.\n\n- `start`: Places the icon before the text.\n- `end`: Places the icon after the text.", "isOptional": true }, { @@ -15486,7 +16147,7 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'base' | 'small-100'", - "description": "Adjusts the size.", + "description": "The size of the badge.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A smaller badge for compact layouts.\n- `small-100`: The smallest badge for tight spaces or dense lists.", "isOptional": true, "defaultValue": "'base'" }, @@ -15565,7 +16226,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Badge, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the badge.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `critical`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" }, @@ -15606,7 +16267,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "Controls the visual weight and emphasis of the badge.\n\n- `base`: Standard weight with moderate emphasis, suitable for most use cases.\n- `subdued`: Reduced visual weight for less prominent or secondary badges.", "isOptional": true, "defaultValue": "'base'" }, @@ -15615,15 +16276,16 @@ "syntaxKind": "PropertySignature", "name": "icon", "value": "'' | ReducedIconTypes", - "description": "The type of icon to be displayed in the badge.", - "isOptional": true + "description": "An icon displayed inside the badge to provide additional visual context or reinforce the badge's meaning. Set to an empty string to display no icon.", + "isOptional": true, + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/Badge.ts", "syntaxKind": "PropertySignature", "name": "iconPosition", "value": "'start' | 'end'", - "description": "The position of the icon in relation to the text.", + "description": "The position of the icon relative to the badge text.\n\n- `start`: Places the icon before the text.\n- `end`: Places the icon after the text.", "isOptional": true }, { @@ -15639,7 +16301,7 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'base' | 'small-100'", - "description": "Adjusts the size.", + "description": "The size of the badge.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A smaller badge for compact layouts.\n- `small-100`: The smallest badge for tight spaces or dense lists.", "isOptional": true, "defaultValue": "'base'" }, @@ -15648,7 +16310,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Badge, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the badge.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `critical`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" } @@ -15660,7 +16322,7 @@ "src/surfaces/checkout/components/Banner.ts": { "filePath": "src/surfaces/checkout/components/Banner.ts", "name": "BannerElementProps", - "description": "The element props interface for the Banner component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -15668,7 +16330,7 @@ "syntaxKind": "PropertySignature", "name": "collapsible", "value": "boolean", - "description": "Makes the content collapsible. A collapsible banner will conceal child elements initially, but allow the user to expand the banner to see them.", + "description": "Whether the banner content can be collapsed and expanded by the user. A collapsible banner conceals child elements initially, allowing the user to expand the banner to reveal them.", "isOptional": true, "defaultValue": "false" }, @@ -15677,7 +16339,7 @@ "syntaxKind": "PropertySignature", "name": "dismissible", "value": "boolean", - "description": "Determines whether the close button of the banner is present.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be true, any animation will complete, and the `afterhide` event will fire.", + "description": "Whether the banner displays a close button that allows users to dismiss it.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be set to `true`, any animation will complete, and the `afterhide` event will fire.", "isOptional": true, "defaultValue": "false" }, @@ -15686,7 +16348,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "The title of the banner.", + "description": "The heading text displayed at the top of the banner to summarize the message or alert.", "isOptional": true, "defaultValue": "''" }, @@ -15695,7 +16357,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the banner is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the banner is `dismissible`, ensure you update app state for this property when the `dismiss` event fires.\n\nIf the banner is not `dismissible`, it can still be hidden by setting this property.", + "description": "Controls whether the banner is visible or hidden.\n\nWhen using a controlled component pattern and the banner is `dismissible`, update this property to `true` when the `dismiss` event fires.\n\nYou can hide the banner programmatically by setting this to `true` even if it's not `dismissible`.", "isOptional": true, "defaultValue": "false" }, @@ -15712,12 +16374,12 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'success' | 'info' | 'auto' | 'warning' | 'critical'", - "description": "Sets the tone of the Banner, based on the intention of the information being conveyed.\n\nThe banner is a live region and the type of status will be dictated by the Tone selected.\n\n- `critical` creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately.\n- `neutral`, `info`, `success`, `warning` and `caution` creates an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", + "description": "The semantic meaning and color treatment of the component. The banner is a live region and the type of status is dictated by the tone selected.\n\n- `info`: Informational content or helpful tips.\n- `auto`: Automatically determined based on context.\n- `success`: Positive outcomes or successful states.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n\nThe `critical` tone creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately. The `info`, `success`, and `warning` tones create an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", "isOptional": true, "defaultValue": "'auto'" } ], - "value": "export interface BannerElementProps extends Pick {\n tone?: Extract;\n}" + "value": "export interface BannerElementProps extends Pick {\n /**\n * Whether the banner content can be collapsed and expanded by the user. A collapsible banner conceals child elements initially, allowing the user to expand the banner to reveal them.\n *\n * @default false\n */\n collapsible?: BannerProps$1['collapsible'];\n /**\n * Whether the banner displays a close button that allows users to dismiss it.\n *\n * When the close button is pressed, the `dismiss` event will fire,\n * then `hidden` will be set to `true`,\n * any animation will complete,\n * and the `afterhide` event will fire.\n *\n * @default false\n */\n dismissible?: BannerProps$1['dismissible'];\n /**\n * The heading text displayed at the top of the banner to summarize the message or alert.\n *\n * @default ''\n */\n heading?: BannerProps$1['heading'];\n /**\n * Controls whether the banner is visible or hidden.\n *\n * When using a controlled component pattern and the banner is `dismissible`,\n * update this property to `true` when the `dismiss` event fires.\n *\n * You can hide the banner programmatically by setting this to `true` even if it's not `dismissible`.\n *\n * @default false\n */\n hidden?: BannerProps$1['hidden'];\n /**\n * The semantic meaning and color treatment of the component. The banner is a live region and the type of status is dictated by the tone selected.\n *\n * - `info`: Informational content or helpful tips.\n * - `auto`: Automatically determined based on context.\n * - `success`: Positive outcomes or successful states.\n * - `warning`: Important warnings about potential issues.\n * - `critical`: Urgent problems or destructive actions.\n *\n * The `critical` tone creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately. The `info`, `success`, and `warning` tones create an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.\n *\n * @default 'auto'\n */\n tone?: Extract;\n}" } }, "BannerEvents": { @@ -15731,7 +16393,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterHide", "value": "(event: Event) => void", - "description": "Event handler when the banner has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback that fires when the banner has fully hidden, including after any hide animations have completed.\n\nThe `hidden` property is `true` when this event fires.", "isOptional": true }, { @@ -15739,7 +16401,7 @@ "syntaxKind": "PropertySignature", "name": "onDismiss", "value": "(event: Event) => void", - "description": "Event handler when the banner is dismissed by the user.\n\nThis does not fire when setting `hidden` manually.\n\nThe `hidden` property will be `false` when this event fires.", + "description": "A callback that fires when the banner is dismissed by the user clicking the close button.\n\nThis doesn't fire when setting `hidden` manually.\n\nThe `hidden` property is `false` when this event fires.", "isOptional": true } ], @@ -15750,7 +16412,7 @@ "src/surfaces/checkout/components/Banner.ts": { "filePath": "src/surfaces/checkout/components/Banner.ts", "name": "BannerElementEvents", - "description": "The events interface for the Banner component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -15758,7 +16420,7 @@ "syntaxKind": "PropertySignature", "name": "afterhide", "value": "CallbackEventListener", - "description": "Event handler when the banner has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback that fires when the banner has fully hidden, including after any hide animations have completed.\n\nThe `hidden` property is `true` when this event fires.", "isOptional": true }, { @@ -15766,11 +16428,11 @@ "syntaxKind": "PropertySignature", "name": "dismiss", "value": "CallbackEventListener", - "description": "Event handler when the banner is dismissed by the user.\n\nThis does not fire when setting `hidden` manually.\n\nThe `hidden` property will be `false` when this event fires.", + "description": "A callback that fires when the banner is dismissed by the user clicking the close button.\n\nThis doesn't fire when setting `hidden` manually.\n\nThe `hidden` property is `false` when this event fires.", "isOptional": true } ], - "value": "export interface BannerElementEvents {\n /**\n * Event handler when the banner has fully hidden.\n *\n * The `hidden` property will be `true` when this event fires.\n *\n * @implementation If implementations animate the hiding of the banner,\n * this event must fire after the banner has fully hidden.\n * We can add an `onHide` event in future if we want to provide a hook for the start of the animation.\n */\n afterhide?: CallbackEventListener;\n /**\n * Event handler when the banner is dismissed by the user.\n *\n * This does not fire when setting `hidden` manually.\n *\n * The `hidden` property will be `false` when this event fires.\n */\n dismiss?: CallbackEventListener;\n}" + "value": "export interface BannerElementEvents {\n /**\n * A callback that fires when the banner has fully hidden, including after any hide animations have completed.\n *\n * The `hidden` property is `true` when this event fires.\n */\n afterhide?: CallbackEventListener;\n /**\n * A callback that fires when the banner is dismissed by the user clicking the close button.\n *\n * This doesn't fire when setting `hidden` manually.\n *\n * The `hidden` property is `false` when this event fires.\n */\n dismiss?: CallbackEventListener;\n}" } }, "BannerElement": { @@ -16372,7 +17034,7 @@ "syntaxKind": "PropertySignature", "name": "collapsible", "value": "boolean", - "description": "Makes the content collapsible. A collapsible banner will conceal child elements initially, but allow the user to expand the banner to see them.", + "description": "Whether the banner content can be collapsed and expanded by the user. A collapsible banner conceals child elements initially, allowing the user to expand the banner to reveal them.", "isOptional": true, "defaultValue": "false" }, @@ -16437,7 +17099,7 @@ "syntaxKind": "PropertySignature", "name": "dismissible", "value": "boolean", - "description": "Determines whether the close button of the banner is present.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be true, any animation will complete, and the `afterhide` event will fire.", + "description": "Whether the banner displays a close button that allows users to dismiss it.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be set to `true`, any animation will complete, and the `afterhide` event will fire.", "isOptional": true, "defaultValue": "false" }, @@ -16699,7 +17361,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "The title of the banner.", + "description": "The heading text displayed at the top of the banner to summarize the message or alert.", "isOptional": true, "defaultValue": "''" }, @@ -16708,7 +17370,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the banner is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the banner is `dismissible`, ensure you update app state for this property when the `dismiss` event fires.\n\nIf the banner is not `dismissible`, it can still be hidden by setting this property.", + "description": "Controls whether the banner is visible or hidden.\n\nWhen using a controlled component pattern and the banner is `dismissible`, update this property to `true` when the `dismiss` event fires.\n\nYou can hide the banner programmatically by setting this to `true` even if it's not `dismissible`.", "isOptional": true, "defaultValue": "false" }, @@ -18074,7 +18736,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'success' | 'info' | 'auto' | 'warning' | 'critical'", - "description": "Sets the tone of the Banner, based on the intention of the information being conveyed.\n\nThe banner is a live region and the type of status will be dictated by the Tone selected.\n\n- `critical` creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately.\n- `neutral`, `info`, `success`, `warning` and `caution` creates an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", + "description": "The semantic meaning and color treatment of the component. The banner is a live region and the type of status is dictated by the tone selected.\n\n- `info`: Informational content or helpful tips.\n- `auto`: Automatically determined based on context.\n- `success`: Positive outcomes or successful states.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n\nThe `critical` tone creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately. The `info`, `success`, and `warning` tones create an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", "isOptional": true, "defaultValue": "'auto'" }, @@ -18115,7 +18777,7 @@ "syntaxKind": "PropertySignature", "name": "collapsible", "value": "boolean", - "description": "Makes the content collapsible. A collapsible banner will conceal child elements initially, but allow the user to expand the banner to see them.", + "description": "Whether the banner content can be collapsed and expanded by the user. A collapsible banner conceals child elements initially, allowing the user to expand the banner to reveal them.", "isOptional": true, "defaultValue": "false" }, @@ -18124,7 +18786,7 @@ "syntaxKind": "PropertySignature", "name": "dismissible", "value": "boolean", - "description": "Determines whether the close button of the banner is present.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be true, any animation will complete, and the `afterhide` event will fire.", + "description": "Whether the banner displays a close button that allows users to dismiss it.\n\nWhen the close button is pressed, the `dismiss` event will fire, then `hidden` will be set to `true`, any animation will complete, and the `afterhide` event will fire.", "isOptional": true, "defaultValue": "false" }, @@ -18133,7 +18795,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "The title of the banner.", + "description": "The heading text displayed at the top of the banner to summarize the message or alert.", "isOptional": true, "defaultValue": "''" }, @@ -18142,7 +18804,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the banner is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the banner is `dismissible`, ensure you update app state for this property when the `dismiss` event fires.\n\nIf the banner is not `dismissible`, it can still be hidden by setting this property.", + "description": "Controls whether the banner is visible or hidden.\n\nWhen using a controlled component pattern and the banner is `dismissible`, update this property to `true` when the `dismiss` event fires.\n\nYou can hide the banner programmatically by setting this to `true` even if it's not `dismissible`.", "isOptional": true, "defaultValue": "false" }, @@ -18159,7 +18821,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterHide", "value": "(event: Event) => void", - "description": "Event handler when the banner has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback that fires when the banner has fully hidden, including after any hide animations have completed.\n\nThe `hidden` property is `true` when this event fires.", "isOptional": true }, { @@ -18167,7 +18829,7 @@ "syntaxKind": "PropertySignature", "name": "onDismiss", "value": "(event: Event) => void", - "description": "Event handler when the banner is dismissed by the user.\n\nThis does not fire when setting `hidden` manually.\n\nThe `hidden` property will be `false` when this event fires.", + "description": "A callback that fires when the banner is dismissed by the user clicking the close button.\n\nThis doesn't fire when setting `hidden` manually.\n\nThe `hidden` property is `false` when this event fires.", "isOptional": true }, { @@ -18175,7 +18837,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'success' | 'info' | 'auto' | 'warning' | 'critical'", - "description": "Sets the tone of the Banner, based on the intention of the information being conveyed.\n\nThe banner is a live region and the type of status will be dictated by the Tone selected.\n\n- `critical` creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately.\n- `neutral`, `info`, `success`, `warning` and `caution` creates an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", + "description": "The semantic meaning and color treatment of the component. The banner is a live region and the type of status is dictated by the tone selected.\n\n- `info`: Informational content or helpful tips.\n- `auto`: Automatically determined based on context.\n- `success`: Positive outcomes or successful states.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n\nThe `critical` tone creates an [assertive live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/alert_role) that is announced by screen readers immediately. The `info`, `success`, and `warning` tones create an [informative live region](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/status_role) that is announced by screen readers after the current message.", "isOptional": true, "defaultValue": "'auto'" } @@ -18207,7 +18869,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "BorderShorthand", "value": "ReducedBorderSizeKeyword | `${ReducedBorderSizeKeyword} ${ReducedColorKeyword}` | `${ReducedBorderSizeKeyword} ${ReducedColorKeyword} ${BorderStyleKeyword}`", - "description": "" + "description": "A shorthand string for specifying border properties. Accepts a size alone (`'base'`), size with color (`'base base'`), or size with color and style (`'base base dashed'`). Omitted values use their defaults." } }, "BorderStyleKeyword": { @@ -18223,7 +18885,7 @@ "src/surfaces/checkout/components/Box.ts": { "filePath": "src/surfaces/checkout/components/Box.ts", "name": "BoxElementProps", - "description": "The element props interface for the Box component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -18231,7 +18893,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -18239,7 +18901,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -18248,7 +18910,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -18257,7 +18919,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -18275,9 +18937,9 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", "isOptional": true, - "defaultValue": "'none' - equivalent to `none base auto`.", + "defaultValue": "'none'", "examples": [ { "title": "Example", @@ -18296,7 +18958,7 @@ "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -18314,7 +18976,7 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -18323,7 +18985,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -18385,7 +19047,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -18453,7 +19115,7 @@ "defaultValue": "'' - meaning no override" } ], - "value": "export interface BoxElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n}" + "value": "export interface BoxElementProps extends Pick {\n /**\n * The background color of the box.\n *\n * - `base`: The standard background color for general content areas.\n * - `subdued`: A muted background for secondary or supporting content.\n * - `transparent`: No background color (the default).\n *\n * @default 'transparent'\n */\n background?: Extract;\n /**\n * A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.\n *\n * @default 'none'\n */\n border?: BorderShorthand;\n /**\n * The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n /**\n * The roundedness of the box's corners.\n *\n * - `none`: Sharp corners with no rounding.\n * - `small-100` / `small`: Subtle rounding for compact elements.\n * - `base`: Standard rounding for most use cases.\n * - `large` / `large-100`: More pronounced rounding for prominent containers.\n * - `max`: Maximum rounding, creating a pill or circular shape.\n *\n * Supports 1-to-4-value shorthand syntax for specifying different radii per corner.\n *\n * @default 'none'\n */\n borderRadius?: MaybeAllValuesShorthandProperty>;\n}" } }, "AccessibilityRole": { @@ -18462,7 +19124,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "AccessibilityRole", "value": "\"main\" | \"header\" | \"footer\" | \"section\" | \"aside\" | \"navigation\" | \"ordered-list\" | \"list-item\" | \"list-item-separator\" | \"unordered-list\" | \"separator\" | \"status\" | \"alert\" | \"generic\" | \"presentation\" | \"none\"", - "description": "" + "description": "The semantic role of a component, used by assistive technologies to convey the element’s purpose to users. Each role maps to a specific HTML element or ARIA role.\n\n- `main`: The primary content of the page.\n- `header`: A page or section header.\n- `footer`: Information such as copyright, navigation links, and privacy statements.\n- `section`: A generic section that should have a heading or `accessibilityLabel`.\n- `aside`: Supporting content related to the main content.\n- `navigation`: A major group of navigation links.\n- `ordered-list`: A list of ordered items.\n- `list-item`: An item inside a list.\n- `list-item-separator`: A divider between list items.\n- `unordered-list`: A list of unordered items.\n- `separator`: A divider that separates sections of content.\n- `status`: A live region with advisory information that is not urgent.\n- `alert`: Important, usually time-sensitive information.\n- `generic`: A nameless container with no semantic meaning (renders a `
`).\n- `presentation`: Strips semantic meaning while keeping visual styling. Synonym for `none`.\n- `none`: Strips semantic meaning while keeping visual styling. Synonym for `presentation`." } }, "MaybeResponsive": { @@ -18512,7 +19174,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -18520,7 +19182,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -18529,7 +19191,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -18538,7 +19200,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -18556,15 +19218,16 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/Box.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -18582,15 +19245,16 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Box.ts", "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -18652,7 +19316,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -18747,7 +19411,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "SizeKeyword", "value": "\"small-500\" | \"small-400\" | \"small-300\" | \"small-200\" | \"small-100\" | \"small\" | \"base\" | \"large\" | \"large-100\" | \"large-200\" | \"large-300\" | \"large-400\" | \"large-500\"", - "description": "The design system's size scale, used to control the dimensions of components like avatars, icons, and thumbnails. Values range from `\"small-500\"` (smallest) through `\"base\"` (standard) to `\"large-500\"` (largest). Not all components support every size \u2014 check the component's `size` property type for its available options." + "description": "The design system's size scale, used to control the dimensions of components like avatars, icons, and thumbnails. Values range from `\"small-500\"` (smallest) through `\"base\"` (standard) to `\"large-500\"` (largest). Not all components support every size — check the component's `size` property type for its available options." } }, "MaybeTwoValuesShorthandProperty": { @@ -18770,7 +19434,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -18778,7 +19442,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -18787,7 +19451,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -19265,7 +19929,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -19304,15 +19968,16 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/Box.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -19330,8 +19995,9 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Box.ts", @@ -19499,7 +20165,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -20797,7 +21463,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -21253,7 +21919,7 @@ "src/surfaces/checkout/components/Button.ts": { "filePath": "src/surfaces/checkout/components/Button.ts", "name": "ButtonElementProps", - "description": "The element props interface for the Button component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -21261,7 +21927,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -21269,7 +21935,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -21278,7 +21944,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -21286,7 +21952,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -21295,7 +21961,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -21311,7 +21977,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -21320,7 +21986,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -21328,7 +21994,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -21337,7 +22003,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -21346,7 +22012,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Button based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the button.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: General information without specific intent.\n- `'critical'`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" }, @@ -21355,7 +22021,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the button component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" }, @@ -21364,12 +22030,12 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'primary' | 'secondary'", - "description": "Changes the visual appearance of the Button.", + "description": "The visual style variant of the button component, which controls its prominence and emphasis.\n\n- `'auto'`: Automatically determined by the button's context.\n- `'primary'`: High-emphasis style for the main action.\n- `'secondary'`: Medium-emphasis style for supporting actions.\n- `'tertiary'`: Low-emphasis style for less prominent actions.", "isOptional": true, - "defaultValue": "'auto' - the variant is automatically determined by the Button's context" + "defaultValue": "'auto'" } ], - "value": "export interface ButtonElementProps extends Pick {\n target?: Extract;\n tone?: Extract;\n type?: Extract;\n variant?: Extract;\n}" + "value": "export interface ButtonElementProps extends Pick {\n target?: Extract;\n tone?: Extract;\n /**\n * The behavioral type of the button component, which determines what action it performs when activated.\n *\n * - `submit`: Submits the nearest containing form.\n * - `button`: Performs no default action, relying on the `click` event handler for behavior.\n *\n * This property is ignored if `href` or `commandFor`/`command` is set.\n *\n * @default 'button'\n */\n type?: Extract;\n variant?: Extract;\n}" } }, "ButtonEvents": { @@ -21383,7 +22049,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true } ], @@ -21394,7 +22060,7 @@ "src/surfaces/checkout/components/Button.ts": { "filePath": "src/surfaces/checkout/components/Button.ts", "name": "ButtonElementEvents", - "description": "The events interface for the Button component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -21402,11 +22068,11 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "Callback when the button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is clicked. This will be called before the action indicated by `type`.\n\nLearn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true } ], - "value": "export interface ButtonElementEvents {\n /**\n * Callback when the button is activated.\n * This will be called before the action indicated by `type`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event\n */\n click?: CallbackEventListener;\n}" + "value": "export interface ButtonElementEvents {\n /**\n * A callback fired when the button is clicked. This will be called before the action indicated by `type`.\n *\n * Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).\n */\n click?: CallbackEventListener;\n}" } }, "ButtonElement": { @@ -21420,7 +22086,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -22016,7 +22682,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -22025,7 +22691,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -22089,7 +22755,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -22365,7 +23031,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -22388,7 +23054,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -22446,7 +23112,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -22510,7 +23176,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -23707,7 +24373,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -23751,7 +24417,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Button based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the button.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: General information without specific intent.\n- `'critical'`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" }, @@ -23767,7 +24433,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the button component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" }, @@ -23776,9 +24442,9 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'primary' | 'secondary'", - "description": "Changes the visual appearance of the Button.", + "description": "The visual style variant of the button component, which controls its prominence and emphasis.\n\n- `'auto'`: Automatically determined by the button's context.\n- `'primary'`: High-emphasis style for the main action.\n- `'secondary'`: Medium-emphasis style for supporting actions.\n- `'tertiary'`: Low-emphasis style for less prominent actions.", "isOptional": true, - "defaultValue": "'auto' - the variant is automatically determined by the Button's context" + "defaultValue": "'auto'" }, { "filePath": "src/surfaces/checkout/components/Button.ts", @@ -23810,7 +24476,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -23818,7 +24484,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -23827,7 +24493,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -23835,7 +24501,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -23844,7 +24510,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -23860,7 +24526,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -23869,7 +24535,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -23877,7 +24543,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -23886,7 +24552,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -23894,7 +24560,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -23903,7 +24569,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral' | 'critical'", - "description": "Sets the tone of the Button based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the button.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: General information without specific intent.\n- `'critical'`: Urgent problems or destructive actions.", "isOptional": true, "defaultValue": "'auto'" }, @@ -23912,7 +24578,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the button component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" }, @@ -23921,9 +24587,9 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'primary' | 'secondary'", - "description": "Changes the visual appearance of the Button.", + "description": "The visual style variant of the button component, which controls its prominence and emphasis.\n\n- `'auto'`: Automatically determined by the button's context.\n- `'primary'`: High-emphasis style for the main action.\n- `'secondary'`: Medium-emphasis style for supporting actions.\n- `'tertiary'`: Low-emphasis style for less prominent actions.", "isOptional": true, - "defaultValue": "'auto' - the variant is automatically determined by the Button's context" + "defaultValue": "'auto'" } ], "value": "export interface ButtonProps extends ButtonElementProps, ButtonEvents {\n}" @@ -23968,7 +24634,7 @@ "src/surfaces/checkout/components/Checkbox.ts": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxElementProps", - "description": "Configure the following properties on the checkbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -23984,7 +24650,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -23993,7 +24659,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -24002,7 +24668,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -24010,7 +24676,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -24019,7 +24685,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -24044,7 +24710,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -24052,7 +24718,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -24060,7 +24726,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -24073,7 +24739,7 @@ "isOptional": true } ], - "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n}" + "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n /**\n * The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n *\n * If a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).\n */\n label?: string;\n}" } }, "CheckboxEvents": { @@ -24098,7 +24764,7 @@ "src/surfaces/checkout/components/Checkbox.ts": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxElementEvents", - "description": "The checkbox component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -24629,7 +25295,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -24729,7 +25395,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -24738,7 +25404,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -24795,7 +25461,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -24811,7 +25477,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -25194,7 +25860,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -25251,7 +25917,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -26265,7 +26931,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -26492,11 +27158,31 @@ "value": "export interface CheckboxElement extends CheckboxElementProps, Omit {\n onchange: CheckboxEvents['onChange'];\n}" } }, + "CheckboxElementSlots": { + "src/surfaces/checkout/components/Checkbox.ts": { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "name": "CheckboxElementSlots", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "syntaxKind": "PropertySignature", + "name": "label", + "value": "HTMLElement", + "description": "The visual content to use as the control label.\n\nUse an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.", + "isOptional": true + } + ], + "value": "export interface CheckboxElementSlots {\n /**\n * The visual content to use as the control label.\n *\n * Use an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.\n */\n label?: HTMLElement;\n}" + } + }, "CheckboxProps": { "src/surfaces/checkout/components/Checkbox.ts": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxProps", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Checkbox.ts", @@ -26511,7 +27197,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -26520,7 +27206,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -26529,7 +27215,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -26537,7 +27223,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -26546,7 +27232,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -26571,7 +27257,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -26579,7 +27265,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -26595,7 +27281,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -26615,7 +27301,7 @@ "src/surfaces/checkout/components/Chip.ts": { "filePath": "src/surfaces/checkout/components/Chip.ts", "name": "ChipElementProps", - "description": "The element props interface for the Chip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -26623,7 +27309,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -26642,7 +27328,7 @@ "src/surfaces/checkout/components/Chip.ts": { "filePath": "src/surfaces/checkout/components/Chip.ts", "name": "ChipElementSlots", - "description": "The slots interface for the Chip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -26650,11 +27336,11 @@ "syntaxKind": "PropertySignature", "name": "graphic", "value": "HTMLElement", - "description": "The graphic to display inside of the chip.\n\nOnly `s-icon` element and its `type` attribute are supported.", + "description": "An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.", "isOptional": true } ], - "value": "export interface ChipElementSlots {\n /**\n * The graphic to display inside of the chip.\n *\n * Only `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" + "value": "export interface ChipElementSlots {\n /**\n * An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" } }, "ChipProps": { @@ -26668,7 +27354,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -26694,7 +27380,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -28981,7 +29667,7 @@ "src/surfaces/checkout/components/Choice.ts": { "filePath": "src/surfaces/checkout/components/Choice.ts", "name": "ChoiceElementProps", - "description": "The element props interface for the Choice component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -28997,7 +29683,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -29006,7 +29692,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -29015,7 +29701,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "boolean", - "description": "Set to `true` to associate a choice with the error passed to `ChoiceList`", + "description": "Whether this choice is associated with the error state of the parent choice list. When `true`, the choice is visually marked as having an error.", "isOptional": true, "defaultValue": "false" }, @@ -29032,7 +29718,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -29052,7 +29738,7 @@ "src/surfaces/checkout/components/Choice.ts": { "filePath": "src/surfaces/checkout/components/Choice.ts", "name": "ChoiceElementSlots", - "description": "The slots interface for the Choice component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -29739,7 +30425,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -29755,7 +30441,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -29869,7 +30555,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "boolean", - "description": "Set to `true` to associate a choice with the error passed to `ChoiceList`", + "description": "Whether this choice is associated with the error state of the parent choice list. When `true`, the choice is visually marked as having an error.", "isOptional": true, "defaultValue": "false" }, @@ -31257,7 +31943,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -31440,7 +32126,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -31449,7 +32135,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -31458,7 +32144,7 @@ "syntaxKind": "PropertySignature", "name": "error", "value": "boolean", - "description": "Set to `true` to associate a choice with the error passed to `ChoiceList`", + "description": "Whether this choice is associated with the error state of the parent choice list. When `true`, the choice is visually marked as having an error.", "isOptional": true, "defaultValue": "false" }, @@ -31475,7 +32161,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -31495,7 +32181,7 @@ "src/surfaces/checkout/components/ChoiceList.ts": { "filePath": "src/surfaces/checkout/components/ChoiceList.ts", "name": "ChoiceListElementProps", - "description": "Configure the following properties on the choice list component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -31503,7 +32189,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.\n\n`disabled` on any child choices is ignored when this is true.", + "description": "Whether the field is disabled, preventing any user interaction.\n\n`disabled` on any child choices is ignored when this is true.", "isOptional": true, "defaultValue": "false" }, @@ -31562,7 +32248,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of the `value`s of the selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -31570,7 +32256,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" } @@ -31589,7 +32275,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has selected one or more options. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has selected one or more options.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true } ], @@ -31600,7 +32286,7 @@ "src/surfaces/checkout/components/ChoiceList.ts": { "filePath": "src/surfaces/checkout/components/ChoiceList.ts", "name": "ChoiceListElementEvents", - "description": "The choice list component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -32270,7 +32956,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.\n\n`disabled` on any child choices is ignored when this is true.", + "description": "Whether the field is disabled, preventing any user interaction.\n\n`disabled` on any child choices is ignored when this is true.", "isOptional": true, "defaultValue": "false" }, @@ -33938,7 +34624,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of the `value`s of the selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -33946,7 +34632,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" }, @@ -33980,7 +34666,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.\n\n`disabled` on any child choices is ignored when this is true.", + "description": "Whether the field is disabled, preventing any user interaction.\n\n`disabled` on any child choices is ignored when this is true.", "isOptional": true, "defaultValue": "false" }, @@ -34039,7 +34725,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has selected one or more options. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has selected one or more options.\n\nLearn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", "isOptional": true }, { @@ -34047,7 +34733,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of the `value`s of the selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -34055,7 +34741,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" } @@ -34067,7 +34753,7 @@ "src/surfaces/checkout/components/Clickable.ts": { "filePath": "src/surfaces/checkout/components/Clickable.ts", "name": "ClickableElementProps", - "description": "The element props interface for the Clickable component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -34075,7 +34761,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -34083,7 +34769,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -34092,7 +34778,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the element.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).\n- `strong`: An emphasized background for prominent sections.\n\n- `'transparent'`: No visible background.\n- `'subdued'`: A subtle, low-emphasis background.\n- `'base'`: The standard background color.\n- `'strong'`: A high-emphasis background for prominence.", "isOptional": true, "defaultValue": "'transparent'" }, @@ -34158,7 +34844,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -34167,7 +34853,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -34175,7 +34861,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, onClick will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", + "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, the `click` event will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", "isOptional": true, "defaultValue": "false" }, @@ -34184,7 +34870,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -34193,7 +34879,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -34218,7 +34904,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -34226,7 +34912,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).", "isOptional": true, "defaultValue": "''" }, @@ -34280,7 +34966,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -34352,7 +35038,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -34361,12 +35047,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the clickable component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" } ], - "value": "export interface ClickableElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n target?: Extract;\n type?: Extract;\n}" + "value": "export interface ClickableElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n target?: Extract;\n /**\n * The behavioral type of the clickable component, which determines what action it performs when activated.\n *\n * - `submit`: Submits the nearest containing form.\n * - `button`: Performs no default action, relying on the `click` event handler for behavior.\n *\n * This property is ignored if `href` or `commandFor`/`command` is set.\n *\n * @default 'button'\n */\n type?: Extract;\n}" } }, "ClickableProps": { @@ -34380,7 +35066,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -34388,7 +35074,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -34397,7 +35083,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the element.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).\n- `strong`: An emphasized background for prominent sections.\n\n- `'transparent'`: No visible background.\n- `'subdued'`: A subtle, low-emphasis background.\n- `'base'`: The standard background color.\n- `'strong'`: A high-emphasis background for prominence.", "isOptional": true, "defaultValue": "'transparent'" }, @@ -34449,7 +35135,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -34458,7 +35144,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -34466,7 +35152,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, onClick will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", + "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, the `click` event will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", "isOptional": true, "defaultValue": "false" }, @@ -34475,7 +35161,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -34484,7 +35170,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -34509,7 +35195,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -34517,7 +35203,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).", "isOptional": true, "defaultValue": "''" }, @@ -34579,7 +35265,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -34595,7 +35281,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -34667,7 +35353,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -34676,7 +35362,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the clickable component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" } @@ -34703,7 +35389,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -34722,7 +35408,7 @@ "src/surfaces/checkout/components/Clickable.ts": { "filePath": "src/surfaces/checkout/components/Clickable.ts", "name": "ClickableElementEvents", - "description": "The events interface for the Clickable component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -34730,7 +35416,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the element loses focus.", + "description": "A callback fired when the component loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -34738,7 +35424,7 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "Callback when the button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the component is clicked. This will be called before the action indicated by `type`.\n\nLearn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -34746,11 +35432,11 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the element receives focus.", + "description": "A callback fired when the component receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true } ], - "value": "export interface ClickableElementEvents {\n /**\n * Callback when the element loses focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the button is activated.\n * This will be called before the action indicated by `type`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event\n */\n click?: CallbackEventListener;\n /**\n * Callback when the element receives focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n}" + "value": "export interface ClickableElementEvents {\n /**\n * A callback fired when the component loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the component is clicked. This will be called before the action indicated by `type`.\n *\n * Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).\n */\n click?: CallbackEventListener;\n /**\n * A callback fired when the component receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n}" } }, "ClickableElement": { @@ -34764,7 +35450,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -34772,7 +35458,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -35250,7 +35936,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the element.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).\n- `strong`: An emphasized background for prominent sections.\n\n- `'transparent'`: No visible background.\n- `'subdued'`: A subtle, low-emphasis background.\n- `'base'`: The standard background color.\n- `'strong'`: A high-emphasis background for prominence.", "isOptional": true, "defaultValue": "'transparent'" }, @@ -35421,7 +36107,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -35430,7 +36116,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -35494,7 +36180,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, onClick will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", + "description": "Disables the clickable, meaning it cannot be clicked or receive focus.\n\nIn this state, the `click` event will not fire. If the click event originates from a child element, the event will immediately stop propagating from this element.\n\nHowever, items within the clickable can still receive focus and be interacted with.\n\nThis has no impact on the visual state by default, but developers are encouraged to style the clickable accordingly.", "isOptional": true, "defaultValue": "false" }, @@ -35510,7 +36196,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -35779,7 +36465,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -35860,7 +36546,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -35903,7 +36589,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).", "isOptional": true, "defaultValue": "''" }, @@ -36835,7 +37521,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -37231,7 +37917,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -37282,7 +37968,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'submit' | 'button'", - "description": "The behavior of the Button.\n\n- `submit`: Used to indicate the component acts as a submit button, meaning it submits the closest form.\n- `button`: Used to indicate the component acts as a button, meaning it has no default action.\n- `reset`: Used to indicate the component acts as a reset button, meaning it resets the closest form (returning fields to their default values).\n\nThis property is ignored if the component supports `href` or `commandFor`/`command` and one of them is set.", + "description": "The behavioral type of the clickable component, which determines what action it performs when activated.\n\n- `submit`: Submits the nearest containing form.\n- `button`: Performs no default action, relying on the `click` event handler for behavior.\n\nThis property is ignored if `href` or `commandFor`/`command` is set.", "isOptional": true, "defaultValue": "'button'" }, @@ -37309,7 +37995,7 @@ "src/surfaces/checkout/components/ClickableChip.ts": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementProps", - "description": "The element props interface for the ClickableChip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -37317,7 +38003,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -37325,7 +38011,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the chip, disallowing any interaction.", + "description": "Disables the chip, preventing all user interaction including clicks and removal. Disabled chips are visually dimmed to indicate they are not interactive.", "isOptional": true, "defaultValue": "false" }, @@ -37334,7 +38020,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -37343,7 +38029,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.", + "description": "The URL to link to. When set, the chip navigates to the specified location after the `click` event fires.", "isOptional": true }, { @@ -37359,7 +38045,7 @@ "syntaxKind": "PropertySignature", "name": "removable", "value": "boolean", - "description": "Whether the chip is removable.", + "description": "Whether the chip displays a remove button, allowing users to dismiss it. When `true`, clicking the remove button fires the `remove` event.", "isOptional": true, "defaultValue": "false" } @@ -37378,7 +38064,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterHide", "value": "(event: Event) => void", - "description": "Event handler when the chip has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback fired when the chip has fully hidden after a removal animation.\n\nThe `hidden` property will be `true` when this event fires.", "isOptional": true }, { @@ -37386,7 +38072,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the chip is clicked.", + "description": "A callback fired when the chip is clicked. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -37394,7 +38080,7 @@ "syntaxKind": "PropertySignature", "name": "onRemove", "value": "(event: Event) => void", - "description": "Callback when the chip is removed.", + "description": "A callback fired when the chip is removed by the user clicking the remove button.", "isOptional": true } ], @@ -37405,7 +38091,7 @@ "src/surfaces/checkout/components/ClickableChip.ts": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementEvents", - "description": "The events interface for the ClickableChip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -37413,7 +38099,7 @@ "syntaxKind": "PropertySignature", "name": "afterhide", "value": "CallbackEventListener", - "description": "Event handler when the chip has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback fired after the chip is hidden. The `hidden` property will be `true` when this event fires.", "isOptional": true }, { @@ -37421,7 +38107,7 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "Event handler when the chip is clicked.", + "description": "A callback fired when the chip is clicked.\n\nLearn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -37429,18 +38115,18 @@ "syntaxKind": "PropertySignature", "name": "remove", "value": "CallbackEventListener", - "description": "Event handler when the chip is removed.", + "description": "A callback fired when the chip is removed.", "isOptional": true } ], - "value": "export interface ClickableChipElementEvents {\n /**\n * Event handler when the chip has fully hidden.\n *\n * The `hidden` property will be `true` when this event fires.\n */\n afterhide?: CallbackEventListener;\n /**\n * Event handler when the chip is clicked.\n */\n click?: CallbackEventListener;\n /**\n * Event handler when the chip is removed.\n */\n remove?: CallbackEventListener;\n}" + "value": "export interface ClickableChipElementEvents {\n /**\n * A callback fired after the chip is hidden. The `hidden` property will be `true` when this event fires.\n */\n afterhide?: CallbackEventListener;\n /**\n * A callback fired when the chip is clicked.\n *\n * Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).\n */\n click?: CallbackEventListener;\n /**\n * A callback fired when the chip is removed.\n */\n remove?: CallbackEventListener;\n}" } }, "ClickableChipElementSlots": { "src/surfaces/checkout/components/ClickableChip.ts": { "filePath": "src/surfaces/checkout/components/ClickableChip.ts", "name": "ClickableChipElementSlots", - "description": "The slots interface for the ClickableChip component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -37448,11 +38134,11 @@ "syntaxKind": "PropertySignature", "name": "graphic", "value": "HTMLElement", - "description": "The graphic to display inside of the chip.\n\nOnly `s-icon` element and its `type` attribute are supported.", + "description": "An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.", "isOptional": true } ], - "value": "export interface ClickableChipElementSlots {\n /**\n * The graphic to display inside of the chip.\n *\n * Only `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" + "value": "export interface ClickableChipElementSlots {\n /**\n * An optional graphic displayed at the start of the chip, such as an icon to visually reinforce the chip's label. Only the `s-icon` element and its `type` attribute are supported.\n */\n graphic?: HTMLElement;\n}" } }, "ClickableChipElement": { @@ -37466,7 +38152,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -38118,7 +38804,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the chip, disallowing any interaction.", + "description": "Disables the chip, preventing all user interaction including clicks and removal. Disabled chips are visually dimmed to indicate they are not interactive.", "isOptional": true, "defaultValue": "false" }, @@ -38380,7 +39066,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -38396,7 +39082,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.", + "description": "The URL to link to. When set, the chip navigates to the specified location after the `click` event fires.", "isOptional": true }, { @@ -39495,7 +40181,7 @@ "syntaxKind": "PropertySignature", "name": "removable", "value": "boolean", - "description": "Whether the chip is removable.", + "description": "Whether the chip displays a remove button, allowing users to dismiss it. When `true`, clicking the remove button fires the `remove` event.", "isOptional": true, "defaultValue": "false" }, @@ -39802,7 +40488,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Chip. It will be read to users using assistive technologies such as screen readers.", + "description": "A label that describes the purpose or contents of the chip. It will be read to users using assistive technologies such as screen readers.", "isOptional": true }, { @@ -39810,7 +40496,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the chip, disallowing any interaction.", + "description": "Disables the chip, preventing all user interaction including clicks and removal. Disabled chips are visually dimmed to indicate they are not interactive.", "isOptional": true, "defaultValue": "false" }, @@ -39819,7 +40505,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -39828,7 +40514,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.", + "description": "The URL to link to. When set, the chip navigates to the specified location after the `click` event fires.", "isOptional": true }, { @@ -39844,7 +40530,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterHide", "value": "(event: Event) => void", - "description": "Event handler when the chip has fully hidden.\n\nThe `hidden` property will be `true` when this event fires.", + "description": "A callback fired when the chip has fully hidden after a removal animation.\n\nThe `hidden` property will be `true` when this event fires.", "isOptional": true }, { @@ -39852,7 +40538,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the chip is clicked.", + "description": "A callback fired when the chip is clicked. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -39860,7 +40546,7 @@ "syntaxKind": "PropertySignature", "name": "onRemove", "value": "(event: Event) => void", - "description": "Callback when the chip is removed.", + "description": "A callback fired when the chip is removed by the user clicking the remove button.", "isOptional": true }, { @@ -39868,7 +40554,7 @@ "syntaxKind": "PropertySignature", "name": "removable", "value": "boolean", - "description": "Whether the chip is removable.", + "description": "Whether the chip displays a remove button, allowing users to dismiss it. When `true`, clicking the remove button fires the `remove` event.", "isOptional": true, "defaultValue": "false" } @@ -39880,7 +40566,7 @@ "src/surfaces/checkout/components/ClipboardItem.ts": { "filePath": "src/surfaces/checkout/components/ClipboardItem.ts", "name": "ClipboardItemElementProps", - "description": "The element props interface for the ClipboardItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -39934,7 +40620,7 @@ "src/surfaces/checkout/components/ClipboardItem.ts": { "filePath": "src/surfaces/checkout/components/ClipboardItem.ts", "name": "ClipboardItemElementEvents", - "description": "The events interface for the ClipboardItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -39942,7 +40628,7 @@ "syntaxKind": "PropertySignature", "name": "copy", "value": "CallbackEventListener", - "description": "Callback run when the copy to clipboard succeeds.", + "description": "A callback fired when the text is successfully copied to the clipboard. Use this to show a confirmation message or update the UI.", "isOptional": true }, { @@ -39950,11 +40636,11 @@ "syntaxKind": "PropertySignature", "name": "copyerror", "value": "CallbackEventListener", - "description": "Callback run when the copy to clipboard fails.", + "description": "A callback fired when the copy to clipboard fails. Use this to display an error message or provide a fallback action.", "isOptional": true } ], - "value": "export interface ClipboardItemElementEvents {\n /**\n * Callback run when the copy to clipboard succeeds.\n */\n copy?: CallbackEventListener;\n /**\n * Callback run when the copy to clipboard fails.\n */\n copyerror?: CallbackEventListener;\n}" + "value": "export interface ClipboardItemElementEvents {\n /**\n * A callback fired when the text is successfully copied to the clipboard. Use this to show a confirmation message or update the UI.\n */\n copy?: CallbackEventListener;\n /**\n * A callback fired when the copy to clipboard fails. Use this to display an error message or provide a fallback action.\n */\n copyerror?: CallbackEventListener;\n}" } }, "ClipboardItemElement": { @@ -42306,7 +42992,7 @@ "src/surfaces/checkout/components/ConsentCheckbox.ts": { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "name": "ConsentCheckboxElementProps", - "description": "Configure the following properties on the consent checkbox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -42322,7 +43008,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -42331,7 +43017,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -42340,7 +43026,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -42348,7 +43034,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -42357,7 +43043,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -42390,15 +43076,15 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -42410,16 +43096,7 @@ "isOptional": true } ], - "value": "export interface ConsentCheckboxElementProps extends Pick {\n command?: Extract;\n}" - } - }, - "ConsentPolicy": { - "src/surfaces/checkout/components/components.ts": { - "filePath": "src/surfaces/checkout/components/components.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "ConsentPolicy", - "value": "\"sms-marketing\"", - "description": "" + "value": "export interface ConsentCheckboxElementProps extends Pick {\n command?: Extract;\n /**\n * The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n *\n * - `sms-marketing`: Represents the policy for SMS marketing consent.\n */\n policy?: ConsentCheckboxProps$1['policy'];\n}" } }, "ConsentCheckboxEvents": { @@ -42444,7 +43121,7 @@ "src/surfaces/checkout/components/ConsentCheckbox.ts": { "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "name": "ConsentCheckboxElementEvents", - "description": "The consent checkbox component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -42975,7 +43652,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -43075,7 +43752,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -43084,7 +43761,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -43141,7 +43818,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -43157,7 +43834,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -43597,7 +44274,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -44468,8 +45145,8 @@ "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -44856,7 +45533,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -44865,7 +45542,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -44874,7 +45551,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -44882,7 +45559,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -44891,7 +45568,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -44924,7 +45601,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -44939,8 +45616,8 @@ "filePath": "src/surfaces/checkout/components/ConsentCheckbox.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -44959,16 +45636,16 @@ "src/surfaces/checkout/components/ConsentPhoneField.ts": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "PhoneFieldElementProps", - "description": "Configure the following properties on the phone field component.", + "description": "", "members": [ { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -44983,7 +45660,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -45061,9 +45738,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -45083,7 +45760,7 @@ "syntaxKind": "TypeAliasDeclaration", "name": "AutocompleteSection", "value": "`section-${string}`", - "description": "The \u201csection\u201d scopes the autocomplete data that should be inserted to a specific area of the page.\n\nCommonly used when there are multiple fields with the same autocomplete needs in the same page. For example: 2 shipping address forms in the same page." + "description": "The “section” scopes the autocomplete data that should be inserted to a specific area of the page.\n\nCommonly used when there are multiple fields with the same autocomplete needs in the same page. For example: 2 shipping address forms in the same page." } }, "AutocompleteGroup": { @@ -45114,7 +45791,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -45130,7 +45807,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -45603,9 +46280,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -45809,7 +46486,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -47489,9 +48166,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47531,9 +48208,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47548,7 +48225,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -47606,7 +48283,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -47622,7 +48299,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -47658,9 +48335,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47678,7 +48355,7 @@ "src/surfaces/checkout/components/ConsentPhoneField.ts": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementProps", - "description": "Configure the following properties on the consent phone field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -47686,9 +48363,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47703,7 +48380,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -47762,8 +48439,8 @@ "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -47789,9 +48466,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47802,7 +48479,7 @@ "isOptional": true } ], - "value": "export interface ConsentPhoneFieldElementProps extends Pick {\n /**\n * @deprecated Use `label` instead.\n * @private\n */\n placeholder?: string;\n}" + "value": "export interface ConsentPhoneFieldElementProps extends Pick {\n /**\n * @deprecated Use `label` instead.\n * @private\n */\n placeholder?: string;\n /**\n * The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n *\n * - `sms-marketing`: Represents the policy for SMS marketing consent.\n */\n policy?: ConsentPhoneFieldProps$1['policy'];\n}" } }, "ConsentPhoneFieldEvents": { @@ -47824,7 +48501,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -47840,7 +48517,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -47851,7 +48528,7 @@ "src/surfaces/checkout/components/ConsentPhoneField.ts": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementEvents", - "description": "The consent phone field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -47901,9 +48578,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -47918,7 +48595,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -48005,8 +48682,8 @@ "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -48032,9 +48709,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -48052,7 +48729,7 @@ "src/surfaces/checkout/components/ConsentPhoneField.ts": { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "name": "ConsentPhoneFieldElementSlots", - "description": "The consent phone field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -48078,9 +48755,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -48095,7 +48772,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -48153,7 +48830,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -48169,7 +48846,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -48186,8 +48863,8 @@ "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", "syntaxKind": "PropertySignature", "name": "policy", - "value": "ConsentPolicy", - "description": "The policy for which user consent is being collected for.\n\n`sms-marketing`: Represents the policy for SMS marketing consent.", + "value": "'sms-marketing'", + "description": "The policy for which buyer consent is being collected. Used by the [consent checkbox](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-checkbox) and [consent phone field](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/consent-phone-field) components to identify the type of marketing permission requested.\n\n- `sms-marketing`: Represents the policy for SMS marketing consent.", "isOptional": true }, { @@ -48213,9 +48890,9 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of number to collect.\n\nSpecific style may be applied to each type to provide extra guidance to users. Note that no extra validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, - "defaultValue": "'' meaning no specific kind of phone number" + "defaultValue": "''" }, { "filePath": "src/surfaces/checkout/components/ConsentPhoneField.ts", @@ -48233,7 +48910,7 @@ "src/surfaces/checkout/components/DateField.ts": { "filePath": "src/surfaces/checkout/components/DateField.ts", "name": "DateFieldElementProps", - "description": "Configure the following properties on the date field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -48241,7 +48918,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -48262,7 +48939,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -48283,9 +48960,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/DateField.ts", @@ -48308,7 +48985,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -48317,7 +48994,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -48453,7 +49130,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -48469,7 +49146,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -48477,7 +49154,7 @@ "syntaxKind": "PropertySignature", "name": "onInvalid", "value": "(event: Event) => void", - "description": "Callback when the field has an invalid date. This callback will be called, if the date typed is invalid or disabled.\n\nDates that don\u2019t exist or have formatting errors are considered invalid. Some examples of invalid dates are:\n- 2021-02-31: February doesn\u2019t have 31 days\n- 2021-02-00: The day can\u2019t be 00\n\nDisallowed dates are considered invalid.\n\nIt\u2019s important to note that this callback will be called only when the user **finishes editing** the date, and it\u2019s called right after the `onChange` callback. The field is **not** validated on every change to the input. Once the buyer has signalled that they have finished editing the field (typically, by blurring the field), the field gets validated and the callback is run if the value is invalid.", + "description": "Callback when the field has an invalid date. This callback will be called, if the date typed is invalid or disabled.\n\nDates that don’t exist or have formatting errors are considered invalid. Some examples of invalid dates are:\n- 2021-02-31: February doesn’t have 31 days\n- 2021-02-00: The day can’t be 00\n\nDisallowed dates are considered invalid.\n\nThis callback fires only when the user finishes editing the date, right after the `change` callback. The field isn't validated on every change to the input. Once the user has finished editing the field (typically by blurring it), the field is validated and the callback fires if the value is invalid.", "isOptional": true }, { @@ -48496,7 +49173,7 @@ "src/surfaces/checkout/components/DateField.ts": { "filePath": "src/surfaces/checkout/components/DateField.ts", "name": "DateFieldElementEvents", - "description": "The date field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -48590,7 +49267,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -48611,7 +49288,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -49059,9 +49736,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/DateField.ts", @@ -49273,7 +49950,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -49282,7 +49959,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51027,7 +51704,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51048,7 +51725,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51069,9 +51746,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/DateField.ts", @@ -51094,7 +51771,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -51103,7 +51780,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51185,7 +51862,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -51201,7 +51878,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -51209,7 +51886,7 @@ "syntaxKind": "PropertySignature", "name": "onInvalid", "value": "(event: Event) => void", - "description": "Callback when the field has an invalid date. This callback will be called, if the date typed is invalid or disabled.\n\nDates that don\u2019t exist or have formatting errors are considered invalid. Some examples of invalid dates are:\n- 2021-02-31: February doesn\u2019t have 31 days\n- 2021-02-00: The day can\u2019t be 00\n\nDisallowed dates are considered invalid.\n\nIt\u2019s important to note that this callback will be called only when the user **finishes editing** the date, and it\u2019s called right after the `onChange` callback. The field is **not** validated on every change to the input. Once the buyer has signalled that they have finished editing the field (typically, by blurring the field), the field gets validated and the callback is run if the value is invalid.", + "description": "Callback when the field has an invalid date. This callback will be called, if the date typed is invalid or disabled.\n\nDates that don’t exist or have formatting errors are considered invalid. Some examples of invalid dates are:\n- 2021-02-31: February doesn’t have 31 days\n- 2021-02-00: The day can’t be 00\n\nDisallowed dates are considered invalid.\n\nThis callback fires only when the user finishes editing the date, right after the `change` callback. The field isn't validated on every change to the input. Once the user has finished editing the field (typically by blurring it), the field is validated and the callback fires if the value is invalid.", "isOptional": true }, { @@ -51272,7 +51949,7 @@ "src/surfaces/checkout/components/DatePicker.ts": { "filePath": "src/surfaces/checkout/components/DatePicker.ts", "name": "DatePickerElementProps", - "description": "Configure the following properties on the date picker component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -51280,7 +51957,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51301,7 +51978,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51339,7 +52016,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -51348,7 +52025,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51415,7 +52092,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -51485,7 +52162,7 @@ "src/surfaces/checkout/components/DatePicker.ts": { "filePath": "src/surfaces/checkout/components/DatePicker.ts", "name": "DatePickerElementEvents", - "description": "The date picker component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -51571,7 +52248,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -51592,7 +52269,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -52246,7 +52923,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -52255,7 +52932,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -53938,7 +54615,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -53980,7 +54657,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Dates that can be selected.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -54001,7 +54678,7 @@ "syntaxKind": "PropertySignature", "name": "allowDays", "value": "string", - "description": "Days of the week that can be selected. These intersect with the result of `allow` and `disallow`.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", + "description": "Restricts which days of the week the user can select. Only dates that fall on an allowed day AND pass the `allow`/`disallow` filters are selectable. For example, setting `allowedDays` to `'mon, wed, fri'` with `allow` set to `'2024-06'` restricts selection to Mondays, Wednesdays, and Fridays in June 2024.\n\nA comma-separated list of days. Whitespace is allowed after commas.\n\nThe default `''` has no effect on the result of `allow` and `disallow`.\n\nDays are `sunday`, `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -54039,7 +54716,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -54048,7 +54725,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -54155,7 +54832,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -54175,7 +54852,7 @@ "src/surfaces/checkout/components/Details.ts": { "filePath": "src/surfaces/checkout/components/Details.ts", "name": "DetailsElementProps", - "description": "The element props interface for the Details component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -54183,7 +54860,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Indicates whether the element should be open by default.\n\nThis reflects to the `open` attribute.", + "description": "Whether the element should be open when it first renders. Use this for uncontrolled behavior where the component manages its own open state after the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -54200,7 +54877,7 @@ "syntaxKind": "PropertySignature", "name": "open", "value": "boolean", - "description": "Whether the element is open.\n\nThis does not reflect to any attribute.", + "description": "Whether the element is currently open and showing its content. Use this for controlled behavior where you manage the open state yourself.", "isOptional": true, "defaultValue": "false" }, @@ -54209,7 +54886,7 @@ "syntaxKind": "PropertySignature", "name": "toggleTransition", "value": "'none' | 'auto'", - "description": "Sets the transition between the two states.", + "description": "Sets the animation transition between the open and closed states.\n\n- `none`: Disables all transition animations.\n- `auto`: Uses the default transition animation.", "isOptional": true, "defaultValue": "'auto'" } @@ -54228,7 +54905,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -54236,7 +54913,7 @@ "syntaxKind": "PropertySignature", "name": "onToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], @@ -54247,7 +54924,7 @@ "src/surfaces/checkout/components/Details.ts": { "filePath": "src/surfaces/checkout/components/Details.ts", "name": "DetailsElementEvents", - "description": "The events interface for the Details component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -54255,7 +54932,7 @@ "syntaxKind": "PropertySignature", "name": "aftertoggle", "value": "CallbackEventListener", - "description": "Callback fired when the element state changes **after** any animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -54263,11 +54940,11 @@ "syntaxKind": "PropertySignature", "name": "toggle", "value": "CallbackEventListener", - "description": "Callback straight after the element state changes.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true } ], - "value": "export interface DetailsElementEvents {\n /**\n * Callback straight after the element state changes.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n toggle?: CallbackEventListener;\n /**\n * Callback fired when the element state changes **after** any animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState\n */\n aftertoggle?: CallbackEventListener;\n}" + "value": "export interface DetailsElementEvents {\n /**\n * A callback fired immediately when the element state changes, before any animations.\n *\n * - If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).\n */\n toggle?: CallbackEventListener;\n /**\n * A callback fired when the element state changes, after any toggle animations have finished.\n *\n * - If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the\n * `newState` property will be set to `open`.\n * - If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the\n * `newState` will be `closed`.\n *\n * Learn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.\n */\n aftertoggle?: CallbackEventListener;\n}" } }, "DetailsElement": { @@ -56566,7 +57243,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Indicates whether the element should be open by default.\n\nThis reflects to the `open` attribute.", + "description": "Whether the element should be open when it first renders. Use this for uncontrolled behavior where the component manages its own open state after the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -56583,7 +57260,7 @@ "syntaxKind": "PropertySignature", "name": "onAfterToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired when the element state changes, after any toggle animations have finished.\n\n- If the element transitioned from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element transitioned from showing to hidden, the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`newState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState) and [`oldState`](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState) properties.", "isOptional": true }, { @@ -56591,7 +57268,7 @@ "syntaxKind": "PropertySignature", "name": "onToggle", "value": "(event: ToggleEvent$1) => void", - "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [toggle event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), [ToggleEvent.newState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and [ToggleEvent.oldState](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", + "description": "A callback fired immediately when the element state changes, before any animations.\n\n- If the element is transitioning from hidden to showing, the `oldState` property will be set to `closed` and the `newState` property will be set to `open`.\n- If the element is transitioning from showing to hidden, then the `oldState` property will be set to `open` and the `newState` will be `closed`.\n\nLearn more about the [`toggle` event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event), the [`newState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/newState), and the [`oldState` property](https://developer.mozilla.org/en-US/docs/Web/API/ToggleEvent/oldState).", "isOptional": true }, { @@ -56599,7 +57276,7 @@ "syntaxKind": "PropertySignature", "name": "open", "value": "boolean", - "description": "Whether the element is open.\n\nThis does not reflect to any attribute.", + "description": "Whether the element is currently open and showing its content. Use this for controlled behavior where you manage the open state yourself.", "isOptional": true, "defaultValue": "false" }, @@ -56608,7 +57285,7 @@ "syntaxKind": "PropertySignature", "name": "toggleTransition", "value": "'none' | 'auto'", - "description": "Sets the transition between the two states.", + "description": "Sets the animation transition between the open and closed states.\n\n- `none`: Disables all transition animations.\n- `auto`: Uses the default transition animation.", "isOptional": true, "defaultValue": "'auto'" } @@ -56620,7 +57297,7 @@ "src/surfaces/checkout/components/Divider.ts": { "filePath": "src/surfaces/checkout/components/Divider.ts", "name": "DividerElementProps", - "description": "The element props interface for the Divider component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -56628,7 +57305,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "'inline' | 'block'", - "description": "Specify the direction of the divider. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The orientation of the divider, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `inline`: A horizontal divider that separates content stacked vertically.\n- `block`: A vertical divider that separates content arranged horizontally.", "isOptional": true, "defaultValue": "'inline'" }, @@ -57299,7 +57976,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "'inline' | 'block'", - "description": "Specify the direction of the divider. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The orientation of the divider, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `inline`: A horizontal divider that separates content stacked vertically.\n- `block`: A vertical divider that separates content arranged horizontally.", "isOptional": true, "defaultValue": "'inline'" }, @@ -58950,7 +59627,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "'inline' | 'block'", - "description": "Specify the direction of the divider. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The orientation of the divider, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `inline`: A horizontal divider that separates content stacked vertically.\n- `block`: A vertical divider that separates content arranged horizontally.", "isOptional": true, "defaultValue": "'inline'" }, @@ -58970,7 +59647,7 @@ "src/surfaces/checkout/components/DropZone.ts": { "filePath": "src/surfaces/checkout/components/DropZone.ts", "name": "DropZoneElementProps", - "description": "Configure the following properties on the drop zone component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -58978,7 +59655,7 @@ "syntaxKind": "PropertySignature", "name": "accept", "value": "string", - "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (e.g. .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", + "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (such as .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", "isOptional": true, "defaultValue": "''" }, @@ -58995,7 +59672,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -59100,7 +59777,7 @@ "src/surfaces/checkout/components/DropZone.ts": { "filePath": "src/surfaces/checkout/components/DropZone.ts", "name": "DropZoneElementEvents", - "description": "The drop zone component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -59142,7 +59819,7 @@ "syntaxKind": "PropertySignature", "name": "accept", "value": "string", - "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (e.g. .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", + "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (such as .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", "isOptional": true, "defaultValue": "''" }, @@ -59803,7 +60480,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -61512,7 +62189,7 @@ "syntaxKind": "PropertySignature", "name": "accept", "value": "string", - "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (e.g. .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", + "description": "A string representing the types of files that are accepted by the drop zone. This string is a comma-separated list of unique file type specifiers which can be one of the following:\n- A file extension starting with a period (\".\") character (such as .jpg, .pdf, .doc)\n- A valid MIME type string with no extensions\n\nIf omitted, all file types are accepted.", "isOptional": true, "defaultValue": "''" }, @@ -61529,7 +62206,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -61624,7 +62301,7 @@ "src/surfaces/checkout/components/EmailField.ts": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementProps", - "description": "Configure the following properties on the email field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -61632,9 +62309,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/EmailField.ts", @@ -61649,7 +62326,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -61700,7 +62377,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -61771,7 +62448,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -61787,7 +62464,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -61798,7 +62475,7 @@ "src/surfaces/checkout/components/EmailField.ts": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementEvents", - "description": "The email field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -61841,7 +62518,7 @@ "src/surfaces/checkout/components/EmailField.ts": { "filePath": "src/surfaces/checkout/components/EmailField.ts", "name": "EmailFieldElementSlots", - "description": "The email field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -62322,9 +62999,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/EmailField.ts", @@ -62528,7 +63205,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -62986,7 +63663,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -64259,9 +64936,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/EmailField.ts", @@ -64276,7 +64953,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -64327,7 +65004,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -64352,7 +65029,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -64368,7 +65045,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -64415,7 +65092,7 @@ "src/surfaces/checkout/components/Form.ts": { "filePath": "src/surfaces/checkout/components/Form.ts", "name": "FormElementProps", - "description": "Configure the following properties on the form component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -64463,7 +65140,7 @@ "src/surfaces/checkout/components/Form.ts": { "filePath": "src/surfaces/checkout/components/Form.ts", "name": "FormElementEvents", - "description": "The form component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -66818,7 +67495,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ReducedAlignContentKeyword", "value": "'center' | 'start' | 'end' | 'normal' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch'", - "description": "" + "description": "The subset of `align-content` values available for the grid component.\n\n- `center`: Packs rows toward the center of the grid.\n- `start`: Packs rows toward the start of the block axis.\n- `end`: Packs rows toward the end of the block axis.\n- `normal`: Default browser behavior.\n- `space-between`: Distributes rows evenly with no space at the edges.\n- `space-around`: Distributes rows evenly with equal space around each.\n- `space-evenly`: Distributes rows with equal space between and at the edges.\n- `stretch`: Stretches rows to fill the available space.", + "isPublicDocs": true } }, "ReducedAlignItemsKeyword": { @@ -66827,7 +67505,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ReducedAlignItemsKeyword", "value": "'center' | 'start' | 'end' | 'normal' | 'baseline' | 'stretch'", - "description": "" + "description": "The subset of `align-items` values available for the grid component.\n\n- `center`: Centers items along the block axis.\n- `start`: Aligns items to the start of the block axis.\n- `end`: Aligns items to the end of the block axis.\n- `normal`: Default browser behavior.\n- `baseline`: Aligns items along their text baseline.\n- `stretch`: Stretches items to fill the cell along the block axis.", + "isPublicDocs": true } }, "ReducedJustifyContentKeyword": { @@ -66836,7 +67515,8 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ReducedJustifyContentKeyword", "value": "'center' | 'start' | 'end' | 'normal' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch'", - "description": "" + "description": "The subset of `justify-content` values available for the grid component.\n\n- `center`: Packs columns toward the center of the grid.\n- `start`: Packs columns toward the start of the inline axis.\n- `end`: Packs columns toward the end of the inline axis.\n- `normal`: Default browser behavior.\n- `space-between`: Distributes columns evenly with no space at the edges.\n- `space-around`: Distributes columns evenly with equal space around each.\n- `space-evenly`: Distributes columns with equal space between and at the edges.\n- `stretch`: Stretches columns to fill the available space.", + "isPublicDocs": true } }, "ReducedJustifyItemsKeyword": { @@ -66845,14 +67525,15 @@ "syntaxKind": "TypeAliasDeclaration", "name": "ReducedJustifyItemsKeyword", "value": "'center' | 'start' | 'end' | 'normal' | 'baseline' | 'stretch'", - "description": "" + "description": "The subset of `justify-items` values available for the grid component.\n\n- `center`: Centers items along the inline axis.\n- `start`: Aligns items to the start of the inline axis.\n- `end`: Aligns items to the end of the inline axis.\n- `normal`: Default browser behavior.\n- `baseline`: Aligns items along their text baseline.\n- `stretch`: Stretches items to fill the cell along the inline axis.", + "isPublicDocs": true } }, "GridElementProps": { "src/surfaces/checkout/components/Grid.ts": { "filePath": "src/surfaces/checkout/components/Grid.ts", "name": "GridElementProps", - "description": "The element props interface for the Grid component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -66860,7 +67541,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -66868,7 +67549,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -66877,7 +67558,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -66886,7 +67567,7 @@ "syntaxKind": "PropertySignature", "name": "alignContent", "value": "MaybeResponsive", - "description": "Aligns the grid along the block (column) axis.\n\nThis overrides the block value of `placeContent`.", + "description": "Controls how the grid's rows are distributed along the block (column) axis when there is extra space. Set to an empty string to use the default.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -66895,7 +67576,7 @@ "syntaxKind": "PropertySignature", "name": "alignItems", "value": "MaybeResponsive", - "description": "Aligns the grid items along the block (column) axis.\n\nThis overrides the block value of `placeItems`.", + "description": "Aligns grid items along the block (column) axis. Set to an empty string to use the default.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -66904,7 +67585,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the grid.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -66922,9 +67603,9 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", "isOptional": true, - "defaultValue": "'none' - equivalent to `none base auto`.", + "defaultValue": "'none'", "examples": [ { "title": "Example", @@ -66943,7 +67624,7 @@ "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -66952,7 +67633,7 @@ "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the grid's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -66970,7 +67651,339 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "columnGap", + "value": "MaybeResponsive", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "display", + "value": "MaybeResponsive<\"auto\" | \"none\">", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", + "isOptional": true, + "defaultValue": "'auto'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "gap", + "value": "MaybeResponsive>", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "gridTemplateColumns", + "value": "MaybeResponsive", + "description": "Defines the number and size of columns in the grid. Accepts any valid CSS [`grid-template-columns`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns) value, such as `\"1fr 2fr\"` or `\"repeat(3, 1fr)\"`.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "gridTemplateRows", + "value": "MaybeResponsive", + "description": "Defines the number and size of rows in the grid. Accepts any valid CSS [`grid-template-rows`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows) value, such as `\"auto 1fr\"` or `\"repeat(2, 100px)\"`.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "id", + "value": "string", + "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "inlineSize", + "value": "MaybeResponsive", + "description": "The inline size of the element (width in horizontal writing modes). Learn more about the [inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).\n\n- `SizeUnits`: Specific size values in pixels, percentages, or zero for precise control.\n- `auto`: Automatically sizes based on content and layout constraints.", + "isOptional": true, + "defaultValue": "'auto'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "justifyContent", + "value": "MaybeResponsive", + "description": "Controls how the grid's columns are distributed along the inline (row) axis when there is extra space. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "justifyItems", + "value": "MaybeResponsive", + "description": "Aligns grid items along the inline (row) axis. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "maxBlockSize", + "value": "MaybeResponsive", + "description": "The maximum block size of the element (maximum height in horizontal writing modes). Learn more about the [max-block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "maxInlineSize", + "value": "MaybeResponsive", + "description": "The maximum inline size of the element (maximum width in horizontal writing modes). Learn more about the [max-inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "minBlockSize", + "value": "MaybeResponsive", + "description": "The minimum block size of the element (minimum height in horizontal writing modes). Learn more about the [min-block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).", + "isOptional": true, + "defaultValue": "'0'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "minInlineSize", + "value": "MaybeResponsive", + "description": "The minimum inline size of the element (minimum width in horizontal writing modes). Learn more about the [min-inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).", + "isOptional": true, + "defaultValue": "'0'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "overflow", + "value": "'hidden' | 'visible'", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", + "isOptional": true, + "defaultValue": "'visible'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "padding", + "value": "MaybeResponsive>", + "description": "The padding applied to all edges of the component.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- 1 value applies to all sides\n- 2 values apply to block (top/bottom) and inline (left/right)\n- 3 values apply to block-start (top), inline (left/right), and block-end (bottom)\n- 4 values apply to block-start (top), inline-end (right), block-end (bottom), and inline-start (left)\n\n**Examples:** `base`, `large none`, `base large-100 base small`\n\nUse `auto` to inherit padding from the nearest container with removed padding.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingBlock", + "value": "MaybeResponsive | \"\">", + "description": "The block-direction padding (top and bottom in horizontal writing modes).\n\nAccepts a single value for both sides or two space-separated values for block-start and block-end.\n\n**Example:** `large none` applies `large` to the top and `none` to the bottom.\n\nOverrides the block value from `padding`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingBlockEnd", + "value": "MaybeResponsive", + "description": "The block-end padding (bottom in horizontal writing modes).\n\nOverrides the block-end value from `paddingBlock`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingBlockStart", + "value": "MaybeResponsive", + "description": "The block-start padding (top in horizontal writing modes).\n\nOverrides the block-start value from `paddingBlock`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingInline", + "value": "MaybeResponsive | \"\">", + "description": "The inline-direction padding (left and right in horizontal writing modes).\n\nAccepts a single value for both sides or two space-separated values for inline-start and inline-end.\n\n**Example:** `large none` applies `large` to the left and `none` to the right.\n\nOverrides the inline value from `padding`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingInlineEnd", + "value": "MaybeResponsive", + "description": "The inline-end padding (right in LTR writing modes, left in RTL).\n\nOverrides the inline-end value from `paddingInline`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "paddingInlineStart", + "value": "MaybeResponsive", + "description": "The inline-start padding (left in LTR writing modes, right in RTL).\n\nOverrides the inline-start value from `paddingInline`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "placeContent", + "value": "MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>", + "description": "A shorthand for `justifyContent` and `alignContent` that sets both distribution axes at once.", + "isOptional": true, + "defaultValue": "'normal normal'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "placeItems", + "value": "MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>", + "description": "A shorthand for `justifyItems` and `alignItems` that sets both alignment axes at once.", + "isOptional": true, + "defaultValue": "'normal normal'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "rowGap", + "value": "MaybeResponsive", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + } + ], + "value": "export interface GridElementProps extends Pick {\n /**\n * Controls how the grid's rows are distributed along the block (column) axis when there is extra space. Set to an empty string to use the default.\n *\n * @default '' - meaning no override\n */\n alignContent?: MaybeResponsive;\n /**\n * Aligns grid items along the block (column) axis. Set to an empty string to use the default.\n *\n * @default '' - meaning no override\n */\n alignItems?: MaybeResponsive;\n /**\n * The background color of the grid.\n *\n * - `base`: The standard background color for general content areas.\n * - `subdued`: A muted background for secondary or supporting content.\n * - `transparent`: No background color (the default).\n *\n * @default 'transparent'\n */\n background?: Extract;\n /**\n * A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.\n *\n * @default 'none'\n */\n border?: BorderShorthand;\n /**\n * The color of the border using the design system's color scale. Overrides the color value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderColor?: ReducedColorKeyword | '';\n /**\n * The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n /**\n * The roundedness of the grid's corners.\n *\n * - `none`: Sharp corners with no rounding.\n * - `small-100` / `small`: Subtle rounding for compact elements.\n * - `base`: Standard rounding for most use cases.\n * - `large` / `large-100`: More pronounced rounding for prominent containers.\n * - `max`: Maximum rounding, creating a pill or circular shape.\n *\n * Supports 1-to-4-value shorthand syntax for specifying different radii per corner.\n *\n * @default 'none'\n */\n borderRadius?: MaybeAllValuesShorthandProperty>;\n /**\n * Controls how the grid's columns are distributed along the inline (row) axis when there is extra space. Set to an empty string to use the default.\n *\n * @default '' - meaning no override\n */\n justifyContent?: MaybeResponsive;\n /**\n * Aligns grid items along the inline (row) axis. Set to an empty string to use the default.\n *\n * @default '' - meaning no override\n */\n justifyItems?: MaybeResponsive;\n /**\n * A shorthand for `justifyContent` and `alignContent` that sets both distribution axes at once.\n *\n * @default 'normal normal'\n */\n placeContent?: MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>;\n /**\n * A shorthand for `justifyItems` and `alignItems` that sets both alignment axes at once.\n *\n * @default 'normal normal'\n */\n placeItems?: MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>;\n}" + } + }, + "GridProps": { + "src/surfaces/checkout/components/Grid.ts": { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "name": "GridProps", + "description": "", + "members": [ + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "accessibilityLabel", + "value": "string", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", + "isOptional": true + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "accessibilityRole", + "value": "AccessibilityRole", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", + "isOptional": true, + "defaultValue": "'generic'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "accessibilityVisibility", + "value": "'visible' | 'hidden' | 'exclusive'", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", + "isOptional": true, + "defaultValue": "'visible'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "alignContent", + "value": "MaybeResponsive", + "description": "Controls how the grid's rows are distributed along the block (column) axis when there is extra space. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "alignItems", + "value": "MaybeResponsive", + "description": "Aligns grid items along the block (column) axis. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "background", + "value": "'base' | 'subdued' | 'transparent'", + "description": "The background color of the grid.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", + "isOptional": true, + "defaultValue": "'transparent'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "blockSize", + "value": "MaybeResponsive", + "description": "The block size of the element (height in horizontal writing modes). Learn more about the [block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).\n\n- `SizeUnits`: Specific size values in pixels, percentages, or zero for precise control.\n- `auto`: Automatically sizes based on content and layout constraints.", + "isOptional": true, + "defaultValue": "'auto'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "border", + "value": "BorderShorthand", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "borderColor", + "value": "'' | 'base'", + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "borderRadius", + "value": "MaybeAllValuesShorthandProperty>", + "description": "The roundedness of the grid's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", + "isOptional": true, + "defaultValue": "'none'" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "borderStyle", + "value": "MaybeAllValuesShorthandProperty | \"\"", + "description": "Controls the visual style of the border on all sides, such as solid, dashed, or dotted.\n\nWhen set, this overrides the style value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different styles per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "isOptional": true, + "defaultValue": "'' - meaning no override" + }, + { + "filePath": "src/surfaces/checkout/components/Grid.ts", + "syntaxKind": "PropertySignature", + "name": "borderWidth", + "value": "MaybeAllValuesShorthandProperty | ''", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -66979,7 +67992,7 @@ "syntaxKind": "PropertySignature", "name": "columnGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -66988,7 +68001,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -66997,7 +68010,7 @@ "syntaxKind": "PropertySignature", "name": "gap", "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", "isOptional": true, "defaultValue": "'none'" }, @@ -67006,7 +68019,7 @@ "syntaxKind": "PropertySignature", "name": "gridTemplateColumns", "value": "MaybeResponsive", - "description": "Define columns and specify their size.", + "description": "Defines the number and size of columns in the grid. Accepts any valid CSS [`grid-template-columns`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns) value, such as `\"1fr 2fr\"` or `\"repeat(3, 1fr)\"`.", "isOptional": true, "defaultValue": "'none'" }, @@ -67015,7 +68028,7 @@ "syntaxKind": "PropertySignature", "name": "gridTemplateRows", "value": "MaybeResponsive", - "description": "Define rows and specify their size.", + "description": "Defines the number and size of rows in the grid. Accepts any valid CSS [`grid-template-rows`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows) value, such as `\"auto 1fr\"` or `\"repeat(2, 100px)\"`.", "isOptional": true, "defaultValue": "'none'" }, @@ -67041,7 +68054,7 @@ "syntaxKind": "PropertySignature", "name": "justifyContent", "value": "MaybeResponsive", - "description": "Aligns the grid along the inline (row) axis.\n\nThis overrides the inline value of `placeContent`.", + "description": "Controls how the grid's columns are distributed along the inline (row) axis when there is extra space. Set to an empty string to use the default.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -67050,7 +68063,7 @@ "syntaxKind": "PropertySignature", "name": "justifyItems", "value": "MaybeResponsive", - "description": "Aligns the grid items along the inline (row) axis.\n\nThis overrides the inline value of `placeItems`.", + "description": "Aligns grid items along the inline (row) axis. Set to an empty string to use the default.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -67095,7 +68108,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -67167,7 +68180,7 @@ "syntaxKind": "PropertySignature", "name": "placeContent", "value": "MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>", - "description": "A shorthand property for `justify-content` and `align-content`.", + "description": "A shorthand for `justifyContent` and `alignContent` that sets both distribution axes at once.", "isOptional": true, "defaultValue": "'normal normal'" }, @@ -67176,7 +68189,7 @@ "syntaxKind": "PropertySignature", "name": "placeItems", "value": "MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>", - "description": "A shorthand property for `justify-items` and `align-items`.", + "description": "A shorthand for `justifyItems` and `alignItems` that sets both alignment axes at once.", "isOptional": true, "defaultValue": "'normal normal'" }, @@ -67185,330 +68198,7 @@ "syntaxKind": "PropertySignature", "name": "rowGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - } - ], - "value": "export interface GridElementProps extends Pick {\n alignContent?: MaybeResponsive;\n alignItems?: MaybeResponsive;\n background?: Extract;\n border?: BorderShorthand;\n borderColor?: ReducedColorKeyword | '';\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n justifyContent?: MaybeResponsive;\n justifyItems?: MaybeResponsive;\n placeContent?: MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>;\n placeItems?: MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>;\n}" - } - }, - "GridProps": { - "src/surfaces/checkout/components/Grid.ts": { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "name": "GridProps", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "accessibilityLabel", - "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "accessibilityRole", - "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", - "isOptional": true, - "defaultValue": "'generic'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "accessibilityVisibility", - "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", - "isOptional": true, - "defaultValue": "'visible'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "alignContent", - "value": "MaybeResponsive", - "description": "Aligns the grid along the block (column) axis.\n\nThis overrides the block value of `placeContent`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "alignItems", - "value": "MaybeResponsive", - "description": "Aligns the grid items along the block (column) axis.\n\nThis overrides the block value of `placeItems`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "background", - "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", - "isOptional": true, - "defaultValue": "'transparent'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "blockSize", - "value": "MaybeResponsive", - "description": "The block size of the element (height in horizontal writing modes). Learn more about the [block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/block-size).\n\n- `SizeUnits`: Specific size values in pixels, percentages, or zero for precise control.\n- `auto`: Automatically sizes based on content and layout constraints.", - "isOptional": true, - "defaultValue": "'auto'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "border", - "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "borderColor", - "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "borderRadius", - "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "borderStyle", - "value": "MaybeAllValuesShorthandProperty | \"\"", - "description": "Controls the visual style of the border on all sides, such as solid, dashed, or dotted.\n\nWhen set, this overrides the style value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different styles per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "borderWidth", - "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "columnGap", - "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "display", - "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", - "isOptional": true, - "defaultValue": "'auto'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "gap", - "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "gridTemplateColumns", - "value": "MaybeResponsive", - "description": "Define columns and specify their size.", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "gridTemplateRows", - "value": "MaybeResponsive", - "description": "Define rows and specify their size.", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "id", - "value": "string", - "description": "A unique identifier for the element. Use this to reference the element in JavaScript, link labels to form controls, or target specific elements for styling or scripting.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "inlineSize", - "value": "MaybeResponsive", - "description": "The inline size of the element (width in horizontal writing modes). Learn more about the [inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size).\n\n- `SizeUnits`: Specific size values in pixels, percentages, or zero for precise control.\n- `auto`: Automatically sizes based on content and layout constraints.", - "isOptional": true, - "defaultValue": "'auto'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "justifyContent", - "value": "MaybeResponsive", - "description": "Aligns the grid along the inline (row) axis.\n\nThis overrides the inline value of `placeContent`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "justifyItems", - "value": "MaybeResponsive", - "description": "Aligns the grid items along the inline (row) axis.\n\nThis overrides the inline value of `placeItems`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "maxBlockSize", - "value": "MaybeResponsive", - "description": "The maximum block size of the element (maximum height in horizontal writing modes). Learn more about the [max-block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-block-size).", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "maxInlineSize", - "value": "MaybeResponsive", - "description": "The maximum inline size of the element (maximum width in horizontal writing modes). Learn more about the [max-inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/max-inline-size).", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "minBlockSize", - "value": "MaybeResponsive", - "description": "The minimum block size of the element (minimum height in horizontal writing modes). Learn more about the [min-block-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-block-size).", - "isOptional": true, - "defaultValue": "'0'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "minInlineSize", - "value": "MaybeResponsive", - "description": "The minimum inline size of the element (minimum width in horizontal writing modes). Learn more about the [min-inline-size property](https://developer.mozilla.org/en-US/docs/Web/CSS/min-inline-size).", - "isOptional": true, - "defaultValue": "'0'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "overflow", - "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", - "isOptional": true, - "defaultValue": "'visible'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "padding", - "value": "MaybeResponsive>", - "description": "The padding applied to all edges of the component.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- 1 value applies to all sides\n- 2 values apply to block (top/bottom) and inline (left/right)\n- 3 values apply to block-start (top), inline (left/right), and block-end (bottom)\n- 4 values apply to block-start (top), inline-end (right), block-end (bottom), and inline-start (left)\n\n**Examples:** `base`, `large none`, `base large-100 base small`\n\nUse `auto` to inherit padding from the nearest container with removed padding.", - "isOptional": true, - "defaultValue": "'none'" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingBlock", - "value": "MaybeResponsive | \"\">", - "description": "The block-direction padding (top and bottom in horizontal writing modes).\n\nAccepts a single value for both sides or two space-separated values for block-start and block-end.\n\n**Example:** `large none` applies `large` to the top and `none` to the bottom.\n\nOverrides the block value from `padding`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingBlockEnd", - "value": "MaybeResponsive", - "description": "The block-end padding (bottom in horizontal writing modes).\n\nOverrides the block-end value from `paddingBlock`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingBlockStart", - "value": "MaybeResponsive", - "description": "The block-start padding (top in horizontal writing modes).\n\nOverrides the block-start value from `paddingBlock`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingInline", - "value": "MaybeResponsive | \"\">", - "description": "The inline-direction padding (left and right in horizontal writing modes).\n\nAccepts a single value for both sides or two space-separated values for inline-start and inline-end.\n\n**Example:** `large none` applies `large` to the left and `none` to the right.\n\nOverrides the inline value from `padding`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingInlineEnd", - "value": "MaybeResponsive", - "description": "The inline-end padding (right in LTR writing modes, left in RTL).\n\nOverrides the inline-end value from `paddingInline`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "paddingInlineStart", - "value": "MaybeResponsive", - "description": "The inline-start padding (left in LTR writing modes, right in RTL).\n\nOverrides the inline-start value from `paddingInline`.", - "isOptional": true, - "defaultValue": "'' - meaning no override" - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "placeContent", - "value": "MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>", - "description": "A shorthand property for `justify-content` and `align-content`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "placeItems", - "value": "MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>", - "description": "A shorthand property for `justify-items` and `align-items`.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/components/Grid.ts", - "syntaxKind": "PropertySignature", - "name": "rowGap", - "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" } @@ -67536,7 +68226,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -67544,7 +68234,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -67553,7 +68243,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -67590,16 +68280,18 @@ "syntaxKind": "PropertySignature", "name": "alignContent", "value": "MaybeResponsive", - "description": "Aligns the grid along the block (column) axis.\n\nThis overrides the block value of `placeContent`.", - "isOptional": true + "description": "Controls how the grid's rows are distributed along the block (column) axis when there is extra space. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", "syntaxKind": "PropertySignature", "name": "alignItems", "value": "MaybeResponsive", - "description": "Aligns the grid items along the block (column) axis.\n\nThis overrides the block value of `placeItems`.", - "isOptional": true + "description": "Aligns grid items along the block (column) axis. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", @@ -68047,7 +68739,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the grid.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -68086,23 +68778,25 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the grid's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -68120,8 +68814,9 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", @@ -68226,7 +68921,7 @@ "syntaxKind": "PropertySignature", "name": "columnGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -68298,7 +68993,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -68426,7 +69121,7 @@ "syntaxKind": "PropertySignature", "name": "gap", "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", "isOptional": true, "defaultValue": "'none'" }, @@ -68527,7 +69222,7 @@ "syntaxKind": "PropertySignature", "name": "gridTemplateColumns", "value": "MaybeResponsive", - "description": "Define columns and specify their size.", + "description": "Defines the number and size of columns in the grid. Accepts any valid CSS [`grid-template-columns`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns) value, such as `\"1fr 2fr\"` or `\"repeat(3, 1fr)\"`.", "isOptional": true, "defaultValue": "'none'" }, @@ -68536,7 +69231,7 @@ "syntaxKind": "PropertySignature", "name": "gridTemplateRows", "value": "MaybeResponsive", - "description": "Define rows and specify their size.", + "description": "Defines the number and size of rows in the grid. Accepts any valid CSS [`grid-template-rows`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows) value, such as `\"auto 1fr\"` or `\"repeat(2, 100px)\"`.", "isOptional": true, "defaultValue": "'none'" }, @@ -68702,16 +69397,18 @@ "syntaxKind": "PropertySignature", "name": "justifyContent", "value": "MaybeResponsive", - "description": "Aligns the grid along the inline (row) axis.\n\nThis overrides the inline value of `placeContent`.", - "isOptional": true + "description": "Controls how the grid's columns are distributed along the inline (row) axis when there is extra space. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", "syntaxKind": "PropertySignature", "name": "justifyItems", "value": "MaybeResponsive", - "description": "Aligns the grid items along the inline (row) axis.\n\nThis overrides the inline value of `placeItems`.", - "isOptional": true + "description": "Aligns grid items along the inline (row) axis. Set to an empty string to use the default.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", @@ -69639,7 +70336,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -69739,16 +70436,18 @@ "syntaxKind": "PropertySignature", "name": "placeContent", "value": "MaybeResponsive<`${ReducedAlignContentKeyword} ${ReducedJustifyContentKeyword}` | ReducedAlignContentKeyword>", - "description": "A shorthand property for `justify-content` and `align-content`.", - "isOptional": true + "description": "A shorthand for `justifyContent` and `alignContent` that sets both distribution axes at once.", + "isOptional": true, + "defaultValue": "'normal normal'" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", "syntaxKind": "PropertySignature", "name": "placeItems", "value": "MaybeResponsive<`${ReducedAlignItemsKeyword} ${ReducedJustifyItemsKeyword}` | ReducedAlignItemsKeyword>", - "description": "A shorthand property for `justify-items` and `align-items`.", - "isOptional": true + "description": "A shorthand for `justifyItems` and `alignItems` that sets both alignment axes at once.", + "isOptional": true, + "defaultValue": "'normal normal'" }, { "filePath": "src/surfaces/checkout/components/Grid.ts", @@ -69904,7 +70603,7 @@ "syntaxKind": "PropertySignature", "name": "rowGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -70120,7 +70819,7 @@ "src/surfaces/checkout/components/GridItem.ts": { "filePath": "src/surfaces/checkout/components/GridItem.ts", "name": "GridItemElementProps", - "description": "The element props interface for the GridItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -70128,7 +70827,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -70136,7 +70835,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -70145,7 +70844,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -70154,7 +70853,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the grid item.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -70172,9 +70871,9 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", "isOptional": true, - "defaultValue": "'none' - equivalent to `none base auto`.", + "defaultValue": "'none'", "examples": [ { "title": "Example", @@ -70193,7 +70892,7 @@ "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -70202,7 +70901,7 @@ "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the grid item's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -70220,7 +70919,7 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -70229,7 +70928,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70238,7 +70937,7 @@ "syntaxKind": "PropertySignature", "name": "gridColumn", "value": "`span ${number}` | \"auto\"", - "description": "Number of columns the item will span across", + "description": "The number of columns this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of columns. Learn more about [`grid-column`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70247,7 +70946,7 @@ "syntaxKind": "PropertySignature", "name": "gridRow", "value": "`span ${number}` | \"auto\"", - "description": "Number of rows the item will span across", + "description": "The number of rows this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of rows. Learn more about [`grid-row`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70309,7 +71008,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -70377,7 +71076,7 @@ "defaultValue": "'' - meaning no override" } ], - "value": "export interface GridItemElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderColor?: ReducedColorKeyword | '';\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n}" + "value": "export interface GridItemElementProps extends Pick {\n /**\n * The background color of the grid item.\n *\n * - `base`: The standard background color for general content areas.\n * - `subdued`: A muted background for secondary or supporting content.\n * - `transparent`: No background color (the default).\n *\n * @default 'transparent'\n */\n background?: Extract;\n /**\n * A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.\n *\n * @default 'none'\n */\n border?: BorderShorthand;\n /**\n * The color of the border using the design system's color scale. Overrides the color value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderColor?: ReducedColorKeyword | '';\n /**\n * The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n /**\n * The roundedness of the grid item's corners.\n *\n * - `none`: Sharp corners with no rounding.\n * - `small-100` / `small`: Subtle rounding for compact elements.\n * - `base`: Standard rounding for most use cases.\n * - `large` / `large-100`: More pronounced rounding for prominent containers.\n * - `max`: Maximum rounding, creating a pill or circular shape.\n *\n * Supports 1-to-4-value shorthand syntax for specifying different radii per corner.\n *\n * @default 'none'\n */\n borderRadius?: MaybeAllValuesShorthandProperty>;\n}" } }, "GridItemProps": { @@ -70391,7 +71090,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -70399,7 +71098,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -70408,7 +71107,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -70417,7 +71116,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the grid item.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -70435,23 +71134,25 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the grid item's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -70469,15 +71170,16 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70486,7 +71188,7 @@ "syntaxKind": "PropertySignature", "name": "gridColumn", "value": "`span ${number}` | \"auto\"", - "description": "Number of columns the item will span across", + "description": "The number of columns this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of columns. Learn more about [`grid-column`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70495,7 +71197,7 @@ "syntaxKind": "PropertySignature", "name": "gridRow", "value": "`span ${number}` | \"auto\"", - "description": "Number of rows the item will span across", + "description": "The number of rows this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of rows. Learn more about [`grid-row`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row).", "isOptional": true, "defaultValue": "'auto'" }, @@ -70557,7 +71259,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -70639,7 +71341,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -70647,7 +71349,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -70656,7 +71358,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -71134,7 +71836,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the grid item.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -71173,23 +71875,25 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the grid item's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -71207,8 +71911,9 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/GridItem.ts", @@ -71376,7 +72081,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -71596,7 +72301,7 @@ "syntaxKind": "PropertySignature", "name": "gridColumn", "value": "`span ${number}` | \"auto\"", - "description": "Number of columns the item will span across", + "description": "The number of columns this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of columns. Learn more about [`grid-column`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column).", "isOptional": true, "defaultValue": "'auto'" }, @@ -71605,7 +72310,7 @@ "syntaxKind": "PropertySignature", "name": "gridRow", "value": "`span ${number}` | \"auto\"", - "description": "Number of rows the item will span across", + "description": "The number of rows this item spans within the grid. Set to `auto` to let the grid determine placement automatically, or use `span {number}` to span a specific number of rows. Learn more about [`grid-row`](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row).", "isOptional": true, "defaultValue": "'auto'" }, @@ -72692,7 +73397,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -73148,7 +73853,7 @@ "src/surfaces/checkout/components/Heading.ts": { "filePath": "src/surfaces/checkout/components/Heading.ts", "name": "HeadingElementProps", - "description": "The element props interface for the Heading component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -73156,7 +73861,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'heading' | 'none' | 'presentation'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `heading`: defines the element as a heading to a page or section.\n- `presentation`: the heading level will be stripped, and will prevent the element\u2019s implicit ARIA semantics from being exposed to the accessibility tree.\n- `none`: a synonym for the `presentation` role.", + "description": "The semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `presentation`: Removes semantic meaning, making the element purely decorative and ignored by screen readers.\n- `none`: Completely hides the element and its content from assistive technologies.", "isOptional": true, "defaultValue": "'heading'" }, @@ -73183,7 +73888,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'heading' | 'none' | 'presentation'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `heading`: defines the element as a heading to a page or section.\n- `presentation`: the heading level will be stripped, and will prevent the element\u2019s implicit ARIA semantics from being exposed to the accessibility tree.\n- `none`: a synonym for the `presentation` role.", + "description": "The semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `presentation`: Removes semantic meaning, making the element purely decorative and ignored by screen readers.\n- `none`: Completely hides the element and its content from assistive technologies.", "isOptional": true, "defaultValue": "'heading'" }, @@ -75478,7 +76183,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'heading' | 'none' | 'presentation'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `heading`: defines the element as a heading to a page or section.\n- `presentation`: the heading level will be stripped, and will prevent the element\u2019s implicit ARIA semantics from being exposed to the accessibility tree.\n- `none`: a synonym for the `presentation` role.", + "description": "The semantic meaning of the component’s content. When set, the role will be used by assistive technologies to help users navigate the page.\n\n- `presentation`: Removes semantic meaning, making the element purely decorative and ignored by screen readers.\n- `none`: Completely hides the element and its content from assistive technologies.", "isOptional": true, "defaultValue": "'heading'" }, @@ -80572,7 +81277,7 @@ "src/surfaces/checkout/components/Link.ts": { "filePath": "src/surfaces/checkout/components/Link.ts", "name": "LinkElementProps", - "description": "The element props interface for the Link component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -80580,7 +81285,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Link. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the content of the link is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the link for users of assistive technologies such as screen readers.", "isOptional": true }, { @@ -80588,7 +81293,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -80597,7 +81302,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -80605,7 +81310,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -80621,7 +81326,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -80629,7 +81334,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the link's text content. Use this when the link text is in a different language than the rest of the page.", "isOptional": true }, { @@ -80637,7 +81342,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -80646,7 +81351,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral'", - "description": "Sets the tone of the Link, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the link.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: Removes the default link color, inheriting the surrounding text style.", "isOptional": true, "defaultValue": "'auto'" } @@ -80665,7 +81370,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the link is activated. This will be called before navigating to the location specified by `href`.", + "description": "A callback fired when the link is activated, before navigating to the location specified by `href`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true } ], @@ -80676,7 +81381,7 @@ "src/surfaces/checkout/components/Link.ts": { "filePath": "src/surfaces/checkout/components/Link.ts", "name": "LinkElementEvents", - "description": "The events interface for the Link component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -80684,11 +81389,11 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "Callback when the link is activated. This will be called before navigating to the location specified by `href`.", + "description": "A callback fired when the link is clicked, before navigating to the location specified by `href`.\n\nLearn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true } ], - "value": "export interface LinkElementEvents {\n /**\n * Callback when the link is activated.\n * This will be called before navigating to the location specified by `href`.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event\n */\n click?: CallbackEventListener;\n}" + "value": "export interface LinkElementEvents {\n /**\n * A callback fired when the link is clicked, before navigating to the location specified by `href`.\n *\n * Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).\n */\n click?: CallbackEventListener;\n}" } }, "LinkElement": { @@ -80702,7 +81407,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Link. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the content of the link is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the link for users of assistive technologies such as screen readers.", "isOptional": true }, { @@ -81298,7 +82003,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -81307,7 +82012,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -81638,7 +82343,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -81710,7 +82415,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -81753,7 +82458,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the link's text content. Use this when the link text is in a different language than the rest of the page.", "isOptional": true }, { @@ -82963,7 +83668,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -83007,7 +83712,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral'", - "description": "Sets the tone of the Link, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the link.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: Removes the default link color, inheriting the surrounding text style.", "isOptional": true, "defaultValue": "'auto'" }, @@ -83048,7 +83753,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Link. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the content of the link is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the link for users of assistive technologies such as screen readers.", "isOptional": true }, { @@ -83056,7 +83761,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle' | '--copy'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -83065,7 +83770,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -83073,7 +83778,7 @@ "syntaxKind": "PropertySignature", "name": "href", "value": "string", - "description": "The URL to link to.\n\n- If set, it will navigate to the location specified by `href` after executing the `click` event.\n- If a `commandFor` is set, the `command` will be executed instead of the navigation.", + "description": "The URL to navigate to when clicked. The `click` event fires first, then navigation occurs. If `commandFor` is also set, the command executes instead of navigation.", "isOptional": true }, { @@ -83089,7 +83794,7 @@ "syntaxKind": "PropertySignature", "name": "interestFor", "value": "string", - "description": "ID of a component that should respond to interest (e.g. hover and focus) on this component.", + "description": "The ID of the component to show when users hover over or focus on this component. Pair with a target component that supports interest-based interactions. Learn more about the [interestFor attribute](https://open-ui.org/components/interest-invokers.explainer/#the-pitch-in-code).", "isOptional": true }, { @@ -83097,7 +83802,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the link's text content. Use this when the link text is in a different language than the rest of the page.", "isOptional": true }, { @@ -83105,7 +83810,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the link is activated. This will be called before navigating to the location specified by `href`.", + "description": "A callback fired when the link is activated, before navigating to the location specified by `href`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -83113,7 +83818,7 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "'auto' | '_blank'", - "description": "Specifies where to display the linked URL.", + "description": "Specifies where to display the linked URL. Learn more about the [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n\n- `'auto'`: Opens the URL in the current frame or a new tab, depending on the context.\n- `'_blank'`: Opens the URL in a new tab or window.", "isOptional": true, "defaultValue": "'auto'" }, @@ -83122,7 +83827,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'neutral'", - "description": "Sets the tone of the Link, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the link.\n\n- `'auto'`: Automatically determined based on context.\n- `'neutral'`: Removes the default link color, inheriting the surrounding text style.", "isOptional": true, "defaultValue": "'auto'" } @@ -83134,7 +83839,7 @@ "src/surfaces/checkout/components/ListItem.ts": { "filePath": "src/surfaces/checkout/components/ListItem.ts", "name": "ListItemElementProps", - "description": "The element props interface for the ListItem component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -88932,7 +89637,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", "isOptional": true, "defaultValue": "'--auto'" }, @@ -88941,7 +89646,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", "isOptional": true }, { @@ -88958,7 +89663,7 @@ "syntaxKind": "PropertySignature", "name": "latitude", "value": "number", - "description": "The latitude of the marker\u2019s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", + "description": "The latitude of the marker’s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", "isOptional": true, "defaultValue": "0" }, @@ -88967,12 +89672,12 @@ "syntaxKind": "PropertySignature", "name": "longitude", "value": "number", - "description": "The longitude of the marker\u2019s position in degrees. Valid values range from -180 (west) to 180 (east).", + "description": "The longitude of the marker’s position in degrees. Valid values range from -180 (west) to 180 (east).", "isOptional": true, "defaultValue": "0" } ], - "value": "export interface MapMarkerElementProps extends Pick {\n /**\n * Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n *\n * - `--auto`: a default action for the target component.\n * - `--show`: shows the target component.\n * - `--hide`: hides the target component.\n * - `--toggle`: toggles the target component.\n *\n * @default '--auto'\n */\n command?: Extract;\n /**\n * The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n */\n commandFor?: MapMarkerProps$1['commandFor'];\n}" + "value": "export interface MapMarkerElementProps extends Pick {\n /**\n * Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n *\n * - `--auto`: a default action for the target component.\n * - `--show`: shows the target component.\n * - `--hide`: hides the target component.\n * - `--toggle`: toggles the target component.\n *\n * @default '--auto'\n */\n command?: Extract;\n /**\n * The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n */\n commandFor?: MapMarkerProps$1['commandFor'];\n}" } }, "MapMarkerEvents": { @@ -88986,7 +89691,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map \u2014 only the marker receives the click.", + "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map — only the marker receives the click.", "isOptional": true } ], @@ -89005,18 +89710,18 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map \u2014 only the marker receives the click.", + "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map — only the marker receives the click.", "isOptional": true } ], - "value": "export interface MapMarkerElementEvents {\n /**\n * A callback fired when the user clicks on the marker. This event does not propagate to the parent map \u2014 only the marker receives the click.\n */\n click?: CallbackEventListener;\n}" + "value": "export interface MapMarkerElementEvents {\n /**\n * A callback fired when the user clicks on the marker. This event does not propagate to the parent map — only the marker receives the click.\n */\n click?: CallbackEventListener;\n}" } }, "MapMarkerElementSlots": { "src/surfaces/checkout/components/MapMarker.ts": { "filePath": "src/surfaces/checkout/components/MapMarker.ts", "name": "MapMarkerElementSlots", - "description": "The named slots for the map marker component. Slots allow you to insert custom content into specific areas of the marker.", + "description": "", "isPublicDocs": true, "members": [ { @@ -89024,11 +89729,11 @@ "syntaxKind": "PropertySignature", "name": "graphic", "value": "HTMLElement", - "description": "A custom graphic element to use as the marker. If not provided, the map provider\u2019s default marker pin is displayed.", + "description": "A custom graphic element to use as the marker. If not provided, the map provider’s default marker pin is displayed.", "isOptional": true } ], - "value": "export interface MapMarkerElementSlots {\n /**\n * A custom graphic element to use as the marker. If not provided, the map provider\u2019s default marker pin is displayed.\n */\n graphic?: HTMLElement;\n}" + "value": "export interface MapMarkerElementSlots {\n /**\n * A custom graphic element to use as the marker. If not provided, the map provider’s default marker pin is displayed.\n */\n graphic?: HTMLElement;\n}" } }, "MapMarkerElement": { @@ -89656,7 +90361,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", "isOptional": true, "defaultValue": "'--auto'" }, @@ -89665,7 +90370,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", "isOptional": true }, { @@ -90117,7 +90822,7 @@ "syntaxKind": "PropertySignature", "name": "latitude", "value": "number", - "description": "The latitude of the marker\u2019s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", + "description": "The latitude of the marker’s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", "isOptional": true, "defaultValue": "0" }, @@ -90133,7 +90838,7 @@ "syntaxKind": "PropertySignature", "name": "longitude", "value": "number", - "description": "The longitude of the marker\u2019s position in degrees. Valid values range from -180 (west) to 180 (east).", + "description": "The longitude of the marker’s position in degrees. Valid values range from -180 (west) to 180 (east).", "isOptional": true, "defaultValue": "0" }, @@ -91416,7 +92121,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` target should take when this marker is activated. See the documentation of particular components for the actions they support. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.", "isOptional": true, "defaultValue": "'--auto'" }, @@ -91425,7 +92130,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of a component that should respond to activations (for example, clicks) on this component. Refer to the `command` property for how to control the behavior of the target. Learn more about the [`commandfor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", "isOptional": true }, { @@ -91442,7 +92147,7 @@ "syntaxKind": "PropertySignature", "name": "latitude", "value": "number", - "description": "The latitude of the marker\u2019s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", + "description": "The latitude of the marker’s position in degrees. Valid values range from -90 (South Pole) to 90 (North Pole).", "isOptional": true, "defaultValue": "0" }, @@ -91451,7 +92156,7 @@ "syntaxKind": "PropertySignature", "name": "longitude", "value": "number", - "description": "The longitude of the marker\u2019s position in degrees. Valid values range from -180 (west) to 180 (east).", + "description": "The longitude of the marker’s position in degrees. Valid values range from -180 (west) to 180 (east).", "isOptional": true, "defaultValue": "0" }, @@ -91460,7 +92165,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map \u2014 only the marker receives the click.", + "description": "A callback fired when the user clicks on the marker. This event does not propagate to the parent map — only the marker receives the click.", "isOptional": true } ], @@ -94051,7 +94756,7 @@ "src/surfaces/checkout/components/MoneyField.ts": { "filePath": "src/surfaces/checkout/components/MoneyField.ts", "name": "MoneyFieldElementProps", - "description": "Configure the following properties on the money field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -94059,9 +94764,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/MoneyField.ts", @@ -94076,7 +94781,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -94118,7 +94823,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -94127,7 +94832,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -94197,7 +94902,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -94213,7 +94918,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -94224,7 +94929,7 @@ "src/surfaces/checkout/components/MoneyField.ts": { "filePath": "src/surfaces/checkout/components/MoneyField.ts", "name": "MoneyFieldElementEvents", - "description": "The money field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -94274,9 +94979,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/MoneyField.ts", @@ -94291,7 +94996,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -94333,7 +95038,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -94342,7 +95047,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -94432,9 +95137,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/MoneyField.ts", @@ -94449,7 +95154,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -94491,7 +95196,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -94500,7 +95205,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -94525,7 +95230,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -94541,7 +95246,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -94587,7 +95292,7 @@ "src/surfaces/checkout/components/NumberField.ts": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementProps", - "description": "Configure the following properties on the number field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -94595,16 +95300,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/NumberField.ts", "syntaxKind": "PropertySignature", "name": "controls", "value": "'auto' | 'stepper' | 'none'", - "description": "Sets the type of controls displayed in the field.\n\n- `stepper`: displays buttons to increase or decrease the value of the field by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value of the field are enabled.\n- `none`: no controls are displayed and users must input the value manually. Arrow keys and scroll wheels can\u2019t be used either to avoid accidental changes.\n- `auto`: the presence of the controls depends on the surface and context.", + "description": "Sets the type of controls displayed in the field.\n\n- `'auto'`: The presence of the controls depends on the surface and context.\n- `'stepper'`: Displays buttons to increase or decrease the value by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value are enabled.\n- `'none'`: No controls are displayed and users must input the value manually. Arrow keys and scroll wheels can’t be used either to avoid accidental changes.", "isOptional": true, "defaultValue": "'auto'" }, @@ -94621,7 +95326,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -94655,7 +95360,7 @@ "syntaxKind": "PropertySignature", "name": "inputMode", "value": "'decimal' | 'numeric'", - "description": "Sets the virtual keyboard.", + "description": "Sets the virtual keyboard layout for the field.\n\n- `'decimal'`: A numeric keyboard with a decimal point, suitable for decimal numbers.\n- `'numeric'`: A numeric keyboard without a decimal point, suitable for integers.\n\nLearn more about the [inputMode attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).", "isOptional": true, "defaultValue": "'decimal'" }, @@ -94681,7 +95386,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -94690,7 +95395,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -94717,7 +95422,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -94753,7 +95458,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -94788,7 +95493,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -94804,7 +95509,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -94815,7 +95520,7 @@ "src/surfaces/checkout/components/NumberField.ts": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementEvents", - "description": "The number field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -94858,7 +95563,7 @@ "src/surfaces/checkout/components/NumberField.ts": { "filePath": "src/surfaces/checkout/components/NumberField.ts", "name": "NumberFieldElementSlots", - "description": "The number field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -95339,9 +96044,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/NumberField.ts", @@ -95516,7 +96221,7 @@ "syntaxKind": "PropertySignature", "name": "controls", "value": "'auto' | 'stepper' | 'none'", - "description": "Sets the type of controls displayed in the field.\n\n- `stepper`: displays buttons to increase or decrease the value of the field by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value of the field are enabled.\n- `none`: no controls are displayed and users must input the value manually. Arrow keys and scroll wheels can\u2019t be used either to avoid accidental changes.\n- `auto`: the presence of the controls depends on the surface and context.", + "description": "Sets the type of controls displayed in the field.\n\n- `'auto'`: The presence of the controls depends on the surface and context.\n- `'stepper'`: Displays buttons to increase or decrease the value by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value are enabled.\n- `'none'`: No controls are displayed and users must input the value manually. Arrow keys and scroll wheels can’t be used either to avoid accidental changes.", "isOptional": true, "defaultValue": "'auto'" }, @@ -95554,7 +96259,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -95875,7 +96580,7 @@ "syntaxKind": "PropertySignature", "name": "inputMode", "value": "'decimal' | 'numeric'", - "description": "Sets the virtual keyboard.", + "description": "Sets the virtual keyboard layout for the field.\n\n- `'decimal'`: A numeric keyboard with a decimal point, suitable for decimal numbers.\n- `'numeric'`: A numeric keyboard without a decimal point, suitable for integers.\n\nLearn more about the [inputMode attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).", "isOptional": true, "defaultValue": "'decimal'" }, @@ -96013,7 +96718,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -96022,7 +96727,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -96920,7 +97625,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -97224,7 +97929,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -97322,16 +98027,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/NumberField.ts", "syntaxKind": "PropertySignature", "name": "controls", "value": "'auto' | 'stepper' | 'none'", - "description": "Sets the type of controls displayed in the field.\n\n- `stepper`: displays buttons to increase or decrease the value of the field by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value of the field are enabled.\n- `none`: no controls are displayed and users must input the value manually. Arrow keys and scroll wheels can\u2019t be used either to avoid accidental changes.\n- `auto`: the presence of the controls depends on the surface and context.", + "description": "Sets the type of controls displayed in the field.\n\n- `'auto'`: The presence of the controls depends on the surface and context.\n- `'stepper'`: Displays buttons to increase or decrease the value by the stepping interval defined in the `step` property. Appropriate mouse and [keyboard interactions](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/spinbutton_role#keyboard_interactions) to control the value are enabled.\n- `'none'`: No controls are displayed and users must input the value manually. Arrow keys and scroll wheels can’t be used either to avoid accidental changes.", "isOptional": true, "defaultValue": "'auto'" }, @@ -97348,7 +98053,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -97381,7 +98086,7 @@ "syntaxKind": "PropertySignature", "name": "inputMode", "value": "'decimal' | 'numeric'", - "description": "Sets the virtual keyboard.", + "description": "Sets the virtual keyboard layout for the field.\n\n- `'decimal'`: A numeric keyboard with a decimal point, suitable for decimal numbers.\n- `'numeric'`: A numeric keyboard without a decimal point, suitable for integers.\n\nLearn more about the [inputMode attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).", "isOptional": true, "defaultValue": "'decimal'" }, @@ -97407,7 +98112,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user will still be able to use the keyboard to input a number higher than the max. It is up to the developer to add appropriate validation.", + "description": "The highest decimal or integer to be accepted for the field. When used with `step` the value will round down to the max number.\n\nNote: a user can still use the keyboard to input a number higher than the max. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "Infinity" }, @@ -97416,7 +98121,7 @@ "syntaxKind": "PropertySignature", "name": "min", "value": "number", - "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user will still be able to use the keyboard to input a number lower than the min. It is up to the developer to add appropriate validation.", + "description": "The lowest decimal or integer to be accepted for the field. When used with `step` the value will round up to the min number.\n\nNote: a user can still use the keyboard to input a number lower than the min. It's up to the developer to add appropriate validation.", "isOptional": true, "defaultValue": "-Infinity" }, @@ -97441,7 +98146,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -97457,7 +98162,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -97475,7 +98180,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -97511,7 +98216,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -97531,7 +98236,7 @@ "src/surfaces/checkout/components/Option.ts": { "filePath": "src/surfaces/checkout/components/Option.ts", "name": "OptionElementProps", - "description": "The element props interface for the Option component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -97547,7 +98252,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -97556,7 +98261,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -97573,7 +98278,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -98245,7 +98950,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -98261,7 +98966,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -99754,7 +100459,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -99937,7 +100642,7 @@ "syntaxKind": "PropertySignature", "name": "defaultSelected", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is selected by default.", "isOptional": true, "defaultValue": "false" }, @@ -99946,7 +100651,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -99963,7 +100668,7 @@ "syntaxKind": "PropertySignature", "name": "selected", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently selected.", "isOptional": true, "defaultValue": "false" }, @@ -99983,7 +100688,7 @@ "src/surfaces/checkout/components/OrderedList.ts": { "filePath": "src/surfaces/checkout/components/OrderedList.ts", "name": "OrderedListElementProps", - "description": "The element props interface for the OrderedList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -102306,7 +103011,7 @@ "src/surfaces/checkout/components/Paragraph.ts": { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphElementProps", - "description": "The element props interface for the Paragraph component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -102314,7 +103019,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -102323,7 +103028,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -102332,7 +103037,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -102349,16 +103054,25 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -102367,12 +103081,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "ParagraphType", - "description": "Provide semantic meaning and default styling to the paragraph.\n\nOther presentation properties on `s-paragraph` override the default styling.", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" } ], - "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n}" + "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * Sets the alignment of the text.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/text-align\n *\n * @default 'auto'\n */\n textAlign?: 'start' | 'end' | 'center' | 'auto';\n}" } }, "ParagraphType": { @@ -102389,13 +103103,14 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphElement", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -102992,7 +103707,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -103050,7 +103765,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -103425,7 +104140,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, @@ -104638,6 +105353,15 @@ "value": "3", "description": "node is a Text node." }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "GetAccessor", @@ -104671,7 +105395,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -104687,7 +105411,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "ParagraphType", - "description": "Provide semantic meaning and default styling to the paragraph.\n\nOther presentation properties on `s-paragraph` override the default styling.", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" }, @@ -104715,13 +105439,14 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphProps", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -104730,7 +105455,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -104739,7 +105464,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -104756,16 +105481,25 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -104774,7 +105508,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "ParagraphType", - "description": "Provide semantic meaning and default styling to the paragraph.\n\nOther presentation properties on `s-paragraph` override the default styling.", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" } @@ -104786,7 +105520,7 @@ "src/surfaces/checkout/components/PasswordField.ts": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementProps", - "description": "Configure the following properties on the password field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -104794,9 +105528,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/PasswordField.ts", @@ -104811,7 +105545,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -104862,7 +105596,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -104923,7 +105657,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -104939,7 +105673,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -104950,7 +105684,7 @@ "src/surfaces/checkout/components/PasswordField.ts": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementEvents", - "description": "The password field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -104993,7 +105727,7 @@ "src/surfaces/checkout/components/PasswordField.ts": { "filePath": "src/surfaces/checkout/components/PasswordField.ts", "name": "PasswordFieldElementSlots", - "description": "The password field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -105474,9 +106208,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/PasswordField.ts", @@ -105680,7 +106414,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -106131,7 +106865,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -106353,7 +107087,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -106551,7 +107285,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -107426,9 +108160,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/PasswordField.ts", @@ -107443,7 +108177,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -107494,7 +108228,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -107519,7 +108253,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -107535,7 +108269,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -109964,7 +110698,7 @@ "src/surfaces/checkout/components/PhoneField.ts": { "filePath": "src/surfaces/checkout/components/PhoneField.ts", "name": "PhoneFieldElementEvents", - "description": "The phone field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -110007,7 +110741,7 @@ "src/surfaces/checkout/components/PhoneField.ts": { "filePath": "src/surfaces/checkout/components/PhoneField.ts", "name": "PhoneFieldElementSlots", - "description": "The phone field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -112594,7 +113328,7 @@ "src/surfaces/checkout/components/PressButton.ts": { "filePath": "src/surfaces/checkout/components/PressButton.ts", "name": "PressButtonElementProps", - "description": "The element props interface for the PressButton component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -112602,7 +113336,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -112619,7 +113353,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -112636,7 +113370,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -112645,7 +113379,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the button's text content. Use this when the button text is in a different language than the rest of the page, so assistive technologies can invoke the correct pronunciation. See the [reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label).", "isOptional": true }, { @@ -112653,7 +113387,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -112689,7 +113423,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -112708,7 +113442,7 @@ "src/surfaces/checkout/components/PressButton.ts": { "filePath": "src/surfaces/checkout/components/PressButton.ts", "name": "PressButtonElementEvents", - "description": "The events interface for the PressButton component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -112716,7 +113450,7 @@ "syntaxKind": "PropertySignature", "name": "blur", "value": "CallbackEventListener", - "description": "Callback when the button has lost focus.", + "description": "A callback fired when the button loses focus.\n\nLearn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).", "isOptional": true }, { @@ -112724,7 +113458,7 @@ "syntaxKind": "PropertySignature", "name": "click", "value": "CallbackEventListener", - "description": "Callback when the button is activated.", + "description": "A callback fired when the button is clicked.\n\nLearn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -112732,11 +113466,11 @@ "syntaxKind": "PropertySignature", "name": "focus", "value": "CallbackEventListener", - "description": "Callback when the button has received focus.", + "description": "A callback fired when the button receives focus.\n\nLearn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).", "isOptional": true } ], - "value": "export interface PressButtonElementEvents {\n /**\n * Callback when the button is activated.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event\n */\n click?: CallbackEventListener;\n /**\n * Callback when the button has lost focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event\n */\n blur?: CallbackEventListener;\n /**\n * Callback when the button has received focus.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event\n */\n focus?: CallbackEventListener;\n}" + "value": "export interface PressButtonElementEvents {\n /**\n * A callback fired when the button is clicked.\n *\n * Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).\n */\n click?: CallbackEventListener;\n /**\n * A callback fired when the button loses focus.\n *\n * Learn more about the [blur event](https://developer.mozilla.org/en-US/docs/Web/API/Element/blur_event).\n */\n blur?: CallbackEventListener;\n /**\n * A callback fired when the button receives focus.\n *\n * Learn more about the [focus event](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event).\n */\n focus?: CallbackEventListener;\n}" } }, "PressButtonElement": { @@ -112750,7 +113484,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -113404,7 +114138,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -113695,7 +114429,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -113788,7 +114522,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the button's text content. Use this when the button text is in a different language than the rest of the page, so assistive technologies can invoke the correct pronunciation. See the [reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label).", "isOptional": true }, { @@ -113810,7 +114544,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -115083,7 +115817,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the Button. It will be read to users using assistive technologies such as screen readers.\n\nUse this when using only an icon or the Button text is not enough context for users using assistive technologies.", + "description": "A label that describes the purpose or content of the button for users of assistive technologies such as screen readers. Use this when the visible content alone doesn't provide enough context.", "isOptional": true }, { @@ -115100,7 +115834,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the Button meaning it cannot be clicked or receive focus.", + "description": "Whether the button is disabled, preventing it from being clicked or receiving focus.", "isOptional": true, "defaultValue": "false" }, @@ -115117,7 +115851,7 @@ "syntaxKind": "PropertySignature", "name": "inlineSize", "value": "'auto' | 'fill' | 'fit-content'", - "description": "The displayed inline width of the Button.\n\n- `auto`: the size of the button depends on the surface and context.\n- `fill`: the button will takes up 100% of the available inline size.\n- `fit-content`: the button will take up the minimum inline-size required to fit its content.", + "description": "The inline width of the button component.\n\n- `'auto'`: The size depends on the surface and context.\n- `'fill'`: The button takes up 100% of the available inline size.\n- `'fit-content'`: The button takes up the minimum inline size required to fit its content.", "isOptional": true, "defaultValue": "'auto'" }, @@ -115126,7 +115860,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)", + "description": "The language of the button's text content. Use this when the button text is in a different language than the rest of the page, so assistive technologies can invoke the correct pronunciation. See the [reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (`Subtag` label).", "isOptional": true }, { @@ -115134,7 +115868,7 @@ "syntaxKind": "PropertySignature", "name": "loading", "value": "boolean", - "description": "Replaces content with a loading indicator while a background action is being performed.\n\nThis also disables the Button.", + "description": "Whether the button is in a loading state, which replaces the button content with a loading indicator while a background action is being performed. This also disables the button.", "isOptional": true, "defaultValue": "false" }, @@ -115151,7 +115885,7 @@ "syntaxKind": "PropertySignature", "name": "onClick", "value": "(event: Event) => void", - "description": "Callback when the Button is activated. This will be called before the action indicated by `type`.", + "description": "A callback fired when the button is activated, before performing the action indicated by `type`. Learn more about the [click event](https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event).", "isOptional": true }, { @@ -117628,7 +118362,7 @@ "src/surfaces/checkout/components/Progress.ts": { "filePath": "src/surfaces/checkout/components/Progress.ts", "name": "ProgressElementProps", - "description": "The element props interface for the Progress component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -117636,7 +118370,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nUse it to provide context of what is progressing.", + "description": "A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".", "isOptional": true }, { @@ -117652,7 +118386,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "This attribute describes how much work the task indicated by the progress element requires.\n\nThe `max` attribute, if present, must have a value greater than 0 and be a valid floating point number.", + "description": "The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n\nLearn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).", "isOptional": true, "defaultValue": "1" }, @@ -117661,7 +118395,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'critical'", - "description": "Sets the tone of the progress, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the progress indicator.\n\n- `auto`: Automatically determined based on context.\n- `critical`: Indicates an urgent or error state requiring immediate attention.", "isOptional": true, "defaultValue": "'auto'" }, @@ -117670,11 +118404,11 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "number", - "description": "Specifies how much of the task has been completed.\n\nIt must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no value attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take.", + "description": "How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n\nLearn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).", "isOptional": true } ], - "value": "export interface ProgressElementProps extends Pick {\n tone?: Extract;\n}" + "value": "export interface ProgressElementProps extends Pick {\n /**\n * A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".\n */\n accessibilityLabel?: ProgressProps$1['accessibilityLabel'];\n /**\n * The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n *\n * Learn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).\n *\n * @default 1\n */\n max?: ProgressProps$1['max'];\n /**\n * The semantic meaning and color treatment of the progress indicator.\n *\n * - `auto`: Automatically determined based on context.\n * - `critical`: Indicates an urgent or error state requiring immediate attention.\n *\n * @default 'auto'\n */\n tone?: Extract;\n /**\n * How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n *\n * Learn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).\n */\n value?: ProgressProps$1['value'];\n}" } }, "ProgressElement": { @@ -117688,7 +118422,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nUse it to provide context of what is progressing.", + "description": "A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".", "isOptional": true }, { @@ -118755,7 +119489,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "This attribute describes how much work the task indicated by the progress element requires.\n\nThe `max` attribute, if present, must have a value greater than 0 and be a valid floating point number.", + "description": "The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n\nLearn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).", "isOptional": true, "defaultValue": "1" }, @@ -119959,7 +120693,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'critical'", - "description": "Sets the tone of the progress, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the progress indicator.\n\n- `auto`: Automatically determined based on context.\n- `critical`: Indicates an urgent or error state requiring immediate attention.", "isOptional": true, "defaultValue": "'auto'" }, @@ -119975,7 +120709,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "number", - "description": "Specifies how much of the task has been completed.\n\nIt must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no value attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take.", + "description": "How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n\nLearn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).", "isOptional": true }, { @@ -120008,7 +120742,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nUse it to provide context of what is progressing.", + "description": "A label announced by assistive technologies that describes what is progressing. Use this to provide context about the ongoing task, such as \"Loading order details\" or \"Uploading file\".", "isOptional": true }, { @@ -120024,7 +120758,7 @@ "syntaxKind": "PropertySignature", "name": "max", "value": "number", - "description": "This attribute describes how much work the task indicated by the progress element requires.\n\nThe `max` attribute, if present, must have a value greater than 0 and be a valid floating point number.", + "description": "The total amount of work the task requires. Must be a value greater than `0` and a valid floating point number.\n\nLearn more about the [max attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max).", "isOptional": true, "defaultValue": "1" }, @@ -120033,7 +120767,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'auto' | 'critical'", - "description": "Sets the tone of the progress, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the progress indicator.\n\n- `auto`: Automatically determined based on context.\n- `critical`: Indicates an urgent or error state requiring immediate attention.", "isOptional": true, "defaultValue": "'auto'" }, @@ -120042,7 +120776,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "number", - "description": "Specifies how much of the task has been completed.\n\nIt must be a valid floating point number between 0 and `max`, or between 0 and 1 if `max` is omitted. If there is no value attribute, the progress bar is indeterminate; this indicates that an activity is ongoing with no indication of how long it is expected to take.", + "description": "How much of the task has been completed. Must be a valid floating point number between `0` and `max`, or between `0` and `1` if `max` is omitted. When no value is set, the progress bar is indeterminate, indicating an ongoing activity with no estimated completion time.\n\nLearn more about the [value attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value).", "isOptional": true } ], @@ -120079,7 +120813,7 @@ "syntaxKind": "PropertySignature", "name": "content", "value": "string", - "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content \u2014 typically by opening a URL in a browser or prompting an action based on the content type.", + "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content — typically by opening a URL in a browser or prompting an action based on the content type.", "isOptional": true }, { @@ -120801,7 +121535,7 @@ "syntaxKind": "PropertySignature", "name": "content", "value": "string", - "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content \u2014 typically by opening a URL in a browser or prompting an action based on the content type.", + "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content — typically by opening a URL in a browser or prompting an action based on the content type.", "isOptional": true }, { @@ -122522,7 +123256,7 @@ "syntaxKind": "PropertySignature", "name": "content", "value": "string", - "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content \u2014 typically by opening a URL in a browser or prompting an action based on the content type.", + "description": "The content to be encoded in the QR code, such as a URL, email address, or plain text. When scanned, the user's device will process this content — typically by opening a URL in a browser or prompting an action based on the content type.", "isOptional": true }, { @@ -122566,7 +123300,7 @@ "src/surfaces/checkout/components/QueryContainer.ts": { "filePath": "src/surfaces/checkout/components/QueryContainer.ts", "name": "QueryContainerElementProps", - "description": "The element props interface for the QueryContainer component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -122574,7 +123308,7 @@ "syntaxKind": "PropertySignature", "name": "containerName", "value": "string", - "description": "The name of the container, which can be used in your container queries to target this container specifically.\n\nWe place the container name of `s-default` on every container. Because of this, it is not required to add a `containerName` identifier in your queries. For example, a `@container (inline-size <= 300px) none, auto` query is equivalent to `@container s-default (inline-size <= 300px) none, auto`.\n\nAny value set in `containerName` will be set alongside alongside `s-default`. For example, `containerName=\"my-container-name\"` will result in a value of `s-default my-container-name` set on the `container-name` CSS property of the rendered HTML.", + "description": "A custom name for the container, used in [container queries](https://developer.mozilla.org/en-US/docs/Web/CSS/container-name) to target this container specifically. The value is added alongside the default name `s-default`.", "isOptional": true, "defaultValue": "''" }, @@ -123210,7 +123944,7 @@ "syntaxKind": "PropertySignature", "name": "containerName", "value": "string", - "description": "The name of the container, which can be used in your container queries to target this container specifically.\n\nWe place the container name of `s-default` on every container. Because of this, it is not required to add a `containerName` identifier in your queries. For example, a `@container (inline-size <= 300px) none, auto` query is equivalent to `@container s-default (inline-size <= 300px) none, auto`.\n\nAny value set in `containerName` will be set alongside alongside `s-default`. For example, `containerName=\"my-container-name\"` will result in a value of `s-default my-container-name` set on the `container-name` CSS property of the rendered HTML.", + "description": "A custom name for the container, used in [container queries](https://developer.mozilla.org/en-US/docs/Web/CSS/container-name) to target this container specifically. The value is added alongside the default name `s-default`.", "isOptional": true, "defaultValue": "''" }, @@ -124896,7 +125630,7 @@ "syntaxKind": "PropertySignature", "name": "containerName", "value": "string", - "description": "The name of the container, which can be used in your container queries to target this container specifically.\n\nWe place the container name of `s-default` on every container. Because of this, it is not required to add a `containerName` identifier in your queries. For example, a `@container (inline-size <= 300px) none, auto` query is equivalent to `@container s-default (inline-size <= 300px) none, auto`.\n\nAny value set in `containerName` will be set alongside alongside `s-default`. For example, `containerName=\"my-container-name\"` will result in a value of `s-default my-container-name` set on the `container-name` CSS property of the rendered HTML.", + "description": "A custom name for the container, used in [container queries](https://developer.mozilla.org/en-US/docs/Web/CSS/container-name) to target this container specifically. The value is added alongside the default name `s-default`.", "isOptional": true, "defaultValue": "''" }, @@ -124916,7 +125650,7 @@ "src/surfaces/checkout/components/ScrollBox.ts": { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "name": "ScrollBoxElementProps", - "description": "The element props interface for the ScrollBox component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -124924,7 +125658,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -124932,7 +125666,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -124941,7 +125675,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -124950,7 +125684,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the scroll box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -124968,9 +125702,9 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", "isOptional": true, - "defaultValue": "'none' - equivalent to `none base auto`.", + "defaultValue": "'none'", "examples": [ { "title": "Example", @@ -124989,7 +125723,7 @@ "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -124998,7 +125732,7 @@ "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the scroll box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -125016,7 +125750,7 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -125025,7 +125759,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -125087,7 +125821,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "OverflowKeyword | `${OverflowKeyword} ${OverflowKeyword}`", - "description": "Sets the overflow behavior of the element.\n\n- `hidden`: clips the content when it is larger than the element\u2019s container and the element will not be scrollable in that axis.\n- `auto`: clips the content when it is larger than the element\u2019s container and make it scrollable in that axis.\n\n1-to-2-value syntax is supported but note that, contrary to the CSS, it uses flow-relative values and the order is:\n\n- 2 values: `block inline`", + "description": "The overflow behavior of the scroll box, controlling whether content that exceeds the container is scrollable or clipped. Learn more about [`overflow`](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow).\n\n- `hidden`: Content is clipped and the element is not scrollable in that axis.\n- `auto`: Content is clipped and becomes scrollable in that axis.\n\nSupports 1-to-2-value syntax using flow-relative axes. Two values are ordered as `block inline` (for example, `hidden auto` clips vertically and scrolls horizontally).", "isOptional": true, "defaultValue": "'auto'" }, @@ -125155,7 +125889,7 @@ "defaultValue": "'' - meaning no override" } ], - "value": "export interface ScrollBoxElementProps extends Pick {\n background?: Extract;\n border?: BorderShorthand;\n borderColor?: ReducedColorKeyword | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n}" + "value": "export interface ScrollBoxElementProps extends Pick {\n /**\n * The background color of the scroll box.\n *\n * - `base`: The standard background color for general content areas.\n * - `subdued`: A muted background for secondary or supporting content.\n * - `transparent`: No background color (the default).\n *\n * @default 'transparent'\n */\n background?: Extract;\n /**\n * A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.\n *\n * @default 'none'\n */\n border?: BorderShorthand;\n /**\n * The color of the border using the design system's color scale. Overrides the color value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderColor?: ReducedColorKeyword | '';\n /**\n * The roundedness of the scroll box's corners.\n *\n * - `none`: Sharp corners with no rounding.\n * - `small-100` / `small`: Subtle rounding for compact elements.\n * - `base`: Standard rounding for most use cases.\n * - `large` / `large-100`: More pronounced rounding for prominent containers.\n * - `max`: Maximum rounding, creating a pill or circular shape.\n *\n * Supports 1-to-4-value shorthand syntax for specifying different radii per corner.\n *\n * @default 'none'\n */\n borderRadius?: MaybeAllValuesShorthandProperty>;\n /**\n * The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n}" } }, "ScrollBoxProps": { @@ -125169,7 +125903,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -125177,7 +125911,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -125186,7 +125920,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -125195,7 +125929,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the scroll box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -125213,23 +125947,25 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the scroll box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -125247,15 +125983,16 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -125317,7 +126054,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "OverflowKeyword | `${OverflowKeyword} ${OverflowKeyword}`", - "description": "Sets the overflow behavior of the element.\n\n- `hidden`: clips the content when it is larger than the element\u2019s container and the element will not be scrollable in that axis.\n- `auto`: clips the content when it is larger than the element\u2019s container and make it scrollable in that axis.\n\n1-to-2-value syntax is supported but note that, contrary to the CSS, it uses flow-relative values and the order is:\n\n- 2 values: `block inline`", + "description": "The overflow behavior of the scroll box, controlling whether content that exceeds the container is scrollable or clipped. Learn more about [`overflow`](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow).\n\n- `hidden`: Content is clipped and the element is not scrollable in that axis.\n- `auto`: Content is clipped and becomes scrollable in that axis.\n\nSupports 1-to-2-value syntax using flow-relative axes. Two values are ordered as `block inline` (for example, `hidden auto` clips vertically and scrolls horizontally).", "isOptional": true, "defaultValue": "'auto'" }, @@ -125408,7 +126145,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -125416,7 +126153,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "AccessibilityRole", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the component's content. When set, assistive technologies use this role to help users navigate the page.", "isOptional": true, "defaultValue": "'generic'" }, @@ -125425,7 +126162,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -125903,7 +126640,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the scroll box.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -125942,23 +126679,25 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "syntaxKind": "PropertySignature", "name": "borderColor", "value": "'' | 'base'", - "description": "Controls the color of the border using the design system's color scale.\n\nWhen set, this overrides the color value specified in the `border` property. Choose from `subdued`, `base`, or `strong` to match the visual emphasis needed.", - "isOptional": true + "description": "The color of the border using the design system's color scale. Overrides the color value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the scroll box's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -125976,8 +126715,9 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/ScrollBox.ts", @@ -126145,7 +126885,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -127443,7 +128183,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "OverflowKeyword | `${OverflowKeyword} ${OverflowKeyword}`", - "description": "Sets the overflow behavior of the element.\n\n- `hidden`: clips the content when it is larger than the element\u2019s container and the element will not be scrollable in that axis.\n- `auto`: clips the content when it is larger than the element\u2019s container and make it scrollable in that axis.\n\n1-to-2-value syntax is supported but note that, contrary to the CSS, it uses flow-relative values and the order is:\n\n- 2 values: `block inline`", + "description": "The overflow behavior of the scroll box, controlling whether content that exceeds the container is scrollable or clipped. Learn more about [`overflow`](https://developer.mozilla.org/en-US/docs/Web/CSS/overflow).\n\n- `hidden`: Content is clipped and the element is not scrollable in that axis.\n- `auto`: Content is clipped and becomes scrollable in that axis.\n\nSupports 1-to-2-value syntax using flow-relative axes. Two values are ordered as `block inline` (for example, `hidden auto` clips vertically and scrolls horizontally).", "isOptional": true, "defaultValue": "'auto'" }, @@ -127907,7 +128647,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label used to describe the section that will be announced by assistive technologies.\n\nWhen no `heading` property is provided or included as a children of the Section, you **must** provide an `accessibilityLabel` to describe the Section. This is important as it allows assistive technologies to provide the right context to users.", + "description": "A label announced by assistive technologies that describes the purpose of the section. When no `heading` property is provided, you **must** set `accessibilityLabel` so screen readers can identify the section.", "isOptional": true }, { @@ -127915,7 +128655,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "A title that describes the content of the section.", + "description": "The heading text displayed at the top of the section to summarize its content.", "isOptional": true }, { @@ -127942,7 +128682,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label used to describe the section that will be announced by assistive technologies.\n\nWhen no `heading` property is provided or included as a children of the Section, you **must** provide an `accessibilityLabel` to describe the Section. This is important as it allows assistive technologies to provide the right context to users.", + "description": "A label announced by assistive technologies that describes the purpose of the section. When no `heading` property is provided, you **must** set `accessibilityLabel` so screen readers can identify the section.", "isOptional": true }, { @@ -128847,7 +129587,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "A title that describes the content of the section.", + "description": "The heading text displayed at the top of the section to summarize its content.", "isOptional": true }, { @@ -130245,7 +130985,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label used to describe the section that will be announced by assistive technologies.\n\nWhen no `heading` property is provided or included as a children of the Section, you **must** provide an `accessibilityLabel` to describe the Section. This is important as it allows assistive technologies to provide the right context to users.", + "description": "A label announced by assistive technologies that describes the purpose of the section. When no `heading` property is provided, you **must** set `accessibilityLabel` so screen readers can identify the section.", "isOptional": true }, { @@ -130253,7 +130993,7 @@ "syntaxKind": "PropertySignature", "name": "heading", "value": "string", - "description": "A title that describes the content of the section.", + "description": "The heading text displayed at the top of the section to summarize its content.", "isOptional": true }, { @@ -130272,7 +131012,7 @@ "src/surfaces/checkout/components/Select.ts": { "filePath": "src/surfaces/checkout/components/Select.ts", "name": "SelectElementProps", - "description": "Configure the following properties on the select component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -130280,16 +131020,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/Select.ts", "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -130373,7 +131113,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -130392,7 +131132,7 @@ "src/surfaces/checkout/components/Select.ts": { "filePath": "src/surfaces/checkout/components/Select.ts", "name": "SelectElementEvents", - "description": "The select component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -130889,9 +131629,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/Select.ts", @@ -131087,7 +131827,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -132787,16 +133527,16 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/Select.ts", "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -132845,7 +133585,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -132905,7 +133645,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Whether the sheet should be open when it first renders. Use sparingly \u2014 only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", + "description": "Whether the sheet should be open when it first renders. Use sparingly — only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -133729,7 +134469,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Whether the sheet should be open when it first renders. Use sparingly \u2014 only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", + "description": "Whether the sheet should be open when it first renders. Use sparingly — only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -135438,7 +136178,7 @@ "syntaxKind": "PropertySignature", "name": "defaultOpen", "value": "boolean", - "description": "Whether the sheet should be open when it first renders. Use sparingly \u2014 only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", + "description": "Whether the sheet should be open when it first renders. Use sparingly — only when the user must interact with the sheet before proceeding (for example, a privacy consent prompt). Only takes effect on the initial render.", "isOptional": true, "defaultValue": "false" }, @@ -135498,7 +136238,7 @@ "src/surfaces/checkout/components/SkeletonParagraph.ts": { "filePath": "src/surfaces/checkout/components/SkeletonParagraph.ts", "name": "SkeletonParagraphElementProps", - "description": "The element props interface for the SkeletonParagraph component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -137848,7 +138588,7 @@ "src/surfaces/checkout/components/Spinner.ts": { "filePath": "src/surfaces/checkout/components/Spinner.ts", "name": "SpinnerElementProps", - "description": "The element props interface for the Spinner component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -137856,7 +138596,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context. Providing an `accessibilityLabel` is recommended if there is no accompanying text describing that something is loading.", + "description": "A label that describes the purpose of the spinner for assistive technologies like screen readers. Provide an `accessibilityLabel` when there is no visible text that conveys a loading state.", "isOptional": true }, { @@ -137872,12 +138612,12 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'large' | 'base' | 'small-100' | 'large-100'", - "description": "Adjusts the size of the spinner icon.", + "description": "The size of the spinner icon.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A compact size for secondary loading states.\n- `small-100`: The smallest size for tight spaces or inline indicators.\n- `large`: A larger size for more prominent loading states.\n- `large-100`: The largest size for full-page or section-level loading indicators.", "isOptional": true, "defaultValue": "'base'" } ], - "value": "export interface SpinnerElementProps extends SpinnerProps$1 {\n size?: Extract;\n}" + "value": "export interface SpinnerElementProps extends SpinnerProps$1 {\n /**\n * A label that describes the purpose of the spinner for assistive technologies like screen readers. Provide an `accessibilityLabel` when there is no visible text that conveys a loading state.\n */\n accessibilityLabel?: SpinnerProps$1['accessibilityLabel'];\n /**\n * The size of the spinner icon.\n *\n * - `base`: The default size, suitable for most use cases.\n * - `small`: A compact size for secondary loading states.\n * - `small-100`: The smallest size for tight spaces or inline indicators.\n * - `large`: A larger size for more prominent loading states.\n * - `large-100`: The largest size for full-page or section-level loading indicators.\n *\n * @default 'base'\n */\n size?: Extract;\n}" } }, "SpinnerElement": { @@ -137891,7 +138631,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context. Providing an `accessibilityLabel` is recommended if there is no accompanying text describing that something is loading.", + "description": "A label that describes the purpose of the spinner for assistive technologies like screen readers. Provide an `accessibilityLabel` when there is no visible text that conveys a loading state.", "isOptional": true }, { @@ -140083,7 +140823,7 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'large' | 'base' | 'small-100' | 'large-100'", - "description": "Adjusts the size of the spinner icon.", + "description": "The size of the spinner icon.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A compact size for secondary loading states.\n- `small-100`: The smallest size for tight spaces or inline indicators.\n- `large`: A larger size for more prominent loading states.\n- `large-100`: The largest size for full-page or section-level loading indicators.", "isOptional": true, "defaultValue": "'base'" }, @@ -140194,7 +140934,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose of the progress. When set, it will be announced to users using assistive technologies and will provide them with more context. Providing an `accessibilityLabel` is recommended if there is no accompanying text describing that something is loading.", + "description": "A label that describes the purpose of the spinner for assistive technologies like screen readers. Provide an `accessibilityLabel` when there is no visible text that conveys a loading state.", "isOptional": true }, { @@ -140210,7 +140950,7 @@ "syntaxKind": "PropertySignature", "name": "size", "value": "'small' | 'large' | 'base' | 'small-100' | 'large-100'", - "description": "Adjusts the size of the spinner icon.", + "description": "The size of the spinner icon.\n\n- `base`: The default size, suitable for most use cases.\n- `small`: A compact size for secondary loading states.\n- `small-100`: The smallest size for tight spaces or inline indicators.\n- `large`: A larger size for more prominent loading states.\n- `large-100`: The largest size for full-page or section-level loading indicators.", "isOptional": true, "defaultValue": "'base'" } @@ -140222,7 +140962,7 @@ "src/surfaces/checkout/components/Stack.ts": { "filePath": "src/surfaces/checkout/components/Stack.ts", "name": "StackElementProps", - "description": "The element props interface for the Stack component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -140230,7 +140970,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -140238,7 +140978,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'aside' | 'footer' | 'header' | 'main' | 'section' | 'status' | 'none' | 'navigation' | 'ordered-list' | 'list-item' | 'list-item-separator' | 'unordered-list' | 'separator' | 'alert' | 'generic'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the stack's content, used by assistive technologies.\n\n- `aside`: Supporting content related to the main content.\n- `footer`: Information such as copyright, navigation links, and privacy statements.\n- `header`: A page or section header.\n- `main`: The primary content of the page.\n- `section`: A generic section that should have a heading or `accessibilityLabel`.\n- `status`: A live region with advisory information that is not urgent.\n- `none`: Strips semantic meaning while keeping visual styling.\n- `navigation`: A major group of navigation links.\n- `ordered-list`: A list of ordered items.\n- `list-item`: An item inside a list.\n- `list-item-separator`: A divider between list items.\n- `unordered-list`: A list of unordered items.\n- `separator`: A divider that separates sections of content.\n- `alert`: Important, usually time-sensitive information.\n- `generic`: A nameless container with no semantic meaning (renders a `
`).", "isOptional": true, "defaultValue": "'generic'" }, @@ -140247,7 +140987,7 @@ "syntaxKind": "PropertySignature", "name": "alignContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the cross axis.", + "description": "Controls how lines of content are distributed along the cross axis when there is extra space.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes lines evenly with no space at the edges.\n- `space-around`: Distributes lines evenly with equal space around each.\n- `space-evenly`: Distributes lines with equal space between and at the edges.\n- `stretch`: Stretches lines to fill the available space.\n- `center`: Packs lines toward the center.\n- `start`: Packs lines toward the start of the cross axis.\n- `end`: Packs lines toward the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140256,7 +140996,7 @@ "syntaxKind": "PropertySignature", "name": "alignItems", "value": "MaybeResponsive>", - "description": "Aligns the Stack's children along the cross axis.", + "description": "Controls how child elements are aligned along the cross axis.\n\n- `normal`: Default browser behavior.\n- `stretch`: Stretches children to fill the cross axis.\n- `center`: Centers children along the cross axis.\n- `start`: Aligns children to the start of the cross axis.\n- `end`: Aligns children to the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140265,7 +141005,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the stack.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -140283,9 +141023,9 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", "isOptional": true, - "defaultValue": "'none' - equivalent to `none base auto`.", + "defaultValue": "'none'", "examples": [ { "title": "Example", @@ -140304,7 +141044,7 @@ "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the stack's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -140322,7 +141062,7 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -140331,7 +141071,7 @@ "syntaxKind": "PropertySignature", "name": "columnGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -140340,7 +141080,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "MaybeResponsive<\"block\" | \"inline\">", - "description": "Sets how the children are placed within the Stack. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The axis along which child elements are arranged, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `block`: Children are stacked vertically (in horizontal writing modes). Content does not wrap.\n- `inline`: Children are arranged horizontally (in horizontal writing modes). Content wraps when it overflows.", "isOptional": true, "defaultValue": "'block'" }, @@ -140349,7 +141089,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -140358,7 +141098,7 @@ "syntaxKind": "PropertySignature", "name": "gap", "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", "isOptional": true, "defaultValue": "'none'" }, @@ -140384,7 +141124,7 @@ "syntaxKind": "PropertySignature", "name": "justifyContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the main axis.", + "description": "Controls how child elements are distributed along the main axis.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes children evenly with no space at the edges.\n- `space-around`: Distributes children evenly with equal space around each.\n- `space-evenly`: Distributes children with equal space between and at the edges.\n- `stretch`: Stretches children to fill the available space.\n- `center`: Packs children toward the center.\n- `start`: Packs children toward the start of the main axis.\n- `end`: Packs children toward the end of the main axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140429,7 +141169,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -140501,12 +141241,12 @@ "syntaxKind": "PropertySignature", "name": "rowGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" } ], - "value": "export interface StackElementProps extends Pick {\n accessibilityRole?: Extract;\n background?: Extract;\n border?: BorderShorthand;\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n borderRadius?: MaybeAllValuesShorthandProperty>;\n alignContent?: MaybeResponsive>;\n alignItems?: MaybeResponsive>;\n justifyContent?: MaybeResponsive>;\n}" + "value": "export interface StackElementProps extends Pick {\n /**\n * The semantic meaning of the stack's content, used by assistive technologies.\n *\n * - `aside`: Supporting content related to the main content.\n * - `footer`: Information such as copyright, navigation links, and privacy statements.\n * - `header`: A page or section header.\n * - `main`: The primary content of the page.\n * - `section`: A generic section that should have a heading or `accessibilityLabel`.\n * - `status`: A live region with advisory information that is not urgent.\n * - `none`: Strips semantic meaning while keeping visual styling.\n * - `navigation`: A major group of navigation links.\n * - `ordered-list`: A list of ordered items.\n * - `list-item`: An item inside a list.\n * - `list-item-separator`: A divider between list items.\n * - `unordered-list`: A list of unordered items.\n * - `separator`: A divider that separates sections of content.\n * - `alert`: Important, usually time-sensitive information.\n * - `generic`: A nameless container with no semantic meaning (renders a `
`).\n *\n * @default 'generic'\n */\n accessibilityRole?: Extract;\n /**\n * The background color of the stack.\n *\n * - `base`: The standard background color for general content areas.\n * - `subdued`: A muted background for secondary or supporting content.\n * - `transparent`: No background color (the default).\n *\n * @default 'transparent'\n */\n background?: Extract;\n /**\n * A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.\n *\n * @default 'none'\n */\n border?: BorderShorthand;\n /**\n * The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.\n *\n * @default '' - meaning no override\n */\n borderWidth?: MaybeAllValuesShorthandProperty | '';\n /**\n * The roundedness of the stack's corners.\n *\n * - `none`: Sharp corners with no rounding.\n * - `small-100` / `small`: Subtle rounding for compact elements.\n * - `base`: Standard rounding for most use cases.\n * - `large` / `large-100`: More pronounced rounding for prominent containers.\n * - `max`: Maximum rounding, creating a pill or circular shape.\n *\n * Supports 1-to-4-value shorthand syntax for specifying different radii per corner.\n *\n * @default 'none'\n */\n borderRadius?: MaybeAllValuesShorthandProperty>;\n /**\n * Controls how lines of content are distributed along the cross axis when there is extra space.\n *\n * - `normal`: Default browser behavior.\n * - `space-between`: Distributes lines evenly with no space at the edges.\n * - `space-around`: Distributes lines evenly with equal space around each.\n * - `space-evenly`: Distributes lines with equal space between and at the edges.\n * - `stretch`: Stretches lines to fill the available space.\n * - `center`: Packs lines toward the center.\n * - `start`: Packs lines toward the start of the cross axis.\n * - `end`: Packs lines toward the end of the cross axis.\n *\n * @default 'normal'\n */\n alignContent?: MaybeResponsive>;\n /**\n * Controls how child elements are aligned along the cross axis.\n *\n * - `normal`: Default browser behavior.\n * - `stretch`: Stretches children to fill the cross axis.\n * - `center`: Centers children along the cross axis.\n * - `start`: Aligns children to the start of the cross axis.\n * - `end`: Aligns children to the end of the cross axis.\n *\n * @default 'normal'\n */\n alignItems?: MaybeResponsive>;\n /**\n * Controls how child elements are distributed along the main axis.\n *\n * - `normal`: Default browser behavior.\n * - `space-between`: Distributes children evenly with no space at the edges.\n * - `space-around`: Distributes children evenly with equal space around each.\n * - `space-evenly`: Distributes children with equal space between and at the edges.\n * - `stretch`: Stretches children to fill the available space.\n * - `center`: Packs children toward the center.\n * - `start`: Packs children toward the start of the main axis.\n * - `end`: Packs children toward the end of the main axis.\n *\n * @default 'normal'\n */\n justifyContent?: MaybeResponsive>;\n}" } }, "StackProps": { @@ -140520,7 +141260,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -140528,7 +141268,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'aside' | 'footer' | 'header' | 'main' | 'section' | 'status' | 'none' | 'navigation' | 'ordered-list' | 'list-item' | 'list-item-separator' | 'unordered-list' | 'separator' | 'alert' | 'generic'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the stack's content, used by assistive technologies.\n\n- `aside`: Supporting content related to the main content.\n- `footer`: Information such as copyright, navigation links, and privacy statements.\n- `header`: A page or section header.\n- `main`: The primary content of the page.\n- `section`: A generic section that should have a heading or `accessibilityLabel`.\n- `status`: A live region with advisory information that is not urgent.\n- `none`: Strips semantic meaning while keeping visual styling.\n- `navigation`: A major group of navigation links.\n- `ordered-list`: A list of ordered items.\n- `list-item`: An item inside a list.\n- `list-item-separator`: A divider between list items.\n- `unordered-list`: A list of unordered items.\n- `separator`: A divider that separates sections of content.\n- `alert`: Important, usually time-sensitive information.\n- `generic`: A nameless container with no semantic meaning (renders a `
`).", "isOptional": true, "defaultValue": "'generic'" }, @@ -140537,7 +141277,7 @@ "syntaxKind": "PropertySignature", "name": "alignContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the cross axis.", + "description": "Controls how lines of content are distributed along the cross axis when there is extra space.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes lines evenly with no space at the edges.\n- `space-around`: Distributes lines evenly with equal space around each.\n- `space-evenly`: Distributes lines with equal space between and at the edges.\n- `stretch`: Stretches lines to fill the available space.\n- `center`: Packs lines toward the center.\n- `start`: Packs lines toward the start of the cross axis.\n- `end`: Packs lines toward the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140546,7 +141286,7 @@ "syntaxKind": "PropertySignature", "name": "alignItems", "value": "MaybeResponsive>", - "description": "Aligns the Stack's children along the cross axis.", + "description": "Controls how child elements are aligned along the cross axis.\n\n- `normal`: Default browser behavior.\n- `stretch`: Stretches children to fill the cross axis.\n- `center`: Centers children along the cross axis.\n- `start`: Aligns children to the start of the cross axis.\n- `end`: Aligns children to the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140555,7 +141295,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the stack.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -140573,15 +141313,16 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/Stack.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the stack's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -140599,15 +141340,16 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Stack.ts", "syntaxKind": "PropertySignature", "name": "columnGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -140616,7 +141358,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "MaybeResponsive<\"block\" | \"inline\">", - "description": "Sets how the children are placed within the Stack. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The axis along which child elements are arranged, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `block`: Children are stacked vertically (in horizontal writing modes). Content does not wrap.\n- `inline`: Children are arranged horizontally (in horizontal writing modes). Content wraps when it overflows.", "isOptional": true, "defaultValue": "'block'" }, @@ -140625,7 +141367,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -140634,7 +141376,7 @@ "syntaxKind": "PropertySignature", "name": "gap", "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", "isOptional": true, "defaultValue": "'none'" }, @@ -140660,7 +141402,7 @@ "syntaxKind": "PropertySignature", "name": "justifyContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the main axis.", + "description": "Controls how child elements are distributed along the main axis.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes children evenly with no space at the edges.\n- `space-around`: Distributes children evenly with equal space around each.\n- `space-evenly`: Distributes children with equal space between and at the edges.\n- `stretch`: Stretches children to fill the available space.\n- `center`: Packs children toward the center.\n- `start`: Packs children toward the start of the main axis.\n- `end`: Packs children toward the end of the main axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140705,7 +141447,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -140777,7 +141519,7 @@ "syntaxKind": "PropertySignature", "name": "rowGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" } @@ -140796,7 +141538,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityLabel", "value": "string", - "description": "A label that describes the purpose or contents of the element. When set, it will be announced to users using assistive technologies and will provide them with more context.\n\nOnly use this when the element's content is not enough context for users using assistive technologies.", + "description": "A label announced by assistive technologies that describes the purpose or contents of the element. Only set this when the element's visible content doesn't provide enough context on its own.", "isOptional": true }, { @@ -140804,7 +141546,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityRole", "value": "'aside' | 'footer' | 'header' | 'main' | 'section' | 'status' | 'none' | 'navigation' | 'ordered-list' | 'list-item' | 'list-item-separator' | 'unordered-list' | 'separator' | 'alert' | 'generic'", - "description": "Sets the semantic meaning of the component\u2019s content. When set, the role will be used by assistive technologies to help users navigate the page.", + "description": "The semantic meaning of the stack's content, used by assistive technologies.\n\n- `aside`: Supporting content related to the main content.\n- `footer`: Information such as copyright, navigation links, and privacy statements.\n- `header`: A page or section header.\n- `main`: The primary content of the page.\n- `section`: A generic section that should have a heading or `accessibilityLabel`.\n- `status`: A live region with advisory information that is not urgent.\n- `none`: Strips semantic meaning while keeping visual styling.\n- `navigation`: A major group of navigation links.\n- `ordered-list`: A list of ordered items.\n- `list-item`: An item inside a list.\n- `list-item-separator`: A divider between list items.\n- `unordered-list`: A list of unordered items.\n- `separator`: A divider that separates sections of content.\n- `alert`: Important, usually time-sensitive information.\n- `generic`: A nameless container with no semantic meaning (renders a `
`).", "isOptional": true, "defaultValue": "'generic'" }, @@ -140841,7 +141583,7 @@ "syntaxKind": "PropertySignature", "name": "alignContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the cross axis.", + "description": "Controls how lines of content are distributed along the cross axis when there is extra space.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes lines evenly with no space at the edges.\n- `space-around`: Distributes lines evenly with equal space around each.\n- `space-evenly`: Distributes lines with equal space between and at the edges.\n- `stretch`: Stretches lines to fill the available space.\n- `center`: Packs lines toward the center.\n- `start`: Packs lines toward the start of the cross axis.\n- `end`: Packs lines toward the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -140850,7 +141592,7 @@ "syntaxKind": "PropertySignature", "name": "alignItems", "value": "MaybeResponsive>", - "description": "Aligns the Stack's children along the cross axis.", + "description": "Controls how child elements are aligned along the cross axis.\n\n- `normal`: Default browser behavior.\n- `stretch`: Stretches children to fill the cross axis.\n- `center`: Centers children along the cross axis.\n- `start`: Aligns children to the start of the cross axis.\n- `end`: Aligns children to the end of the cross axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -141300,7 +142042,7 @@ "syntaxKind": "PropertySignature", "name": "background", "value": "'base' | 'subdued' | 'transparent'", - "description": "Adjust the background of the element.", + "description": "The background color of the stack.\n\n- `base`: The standard background color for general content areas.\n- `subdued`: A muted background for secondary or supporting content.\n- `transparent`: No background color (the default).", "isOptional": true, "defaultValue": "'transparent'" }, @@ -141339,15 +142081,16 @@ "syntaxKind": "PropertySignature", "name": "border", "value": "BorderShorthand", - "description": "Applies a border using shorthand syntax to specify width, color, and style in a single property.\n\nAccepts a size value, optionally followed by a color, optionally followed by a style. Omitted values use defaults: color defaults to `base`, style defaults to `auto`.\n\nIndividual properties (`borderWidth`, `borderStyle`, `borderColor`) can override values set here.", - "isOptional": true + "description": "A shorthand for setting the border width, color, and style in a single property. Individual border properties (`borderWidth`, `borderStyle`) can override values set here.", + "isOptional": true, + "defaultValue": "'none'" }, { "filePath": "src/surfaces/checkout/components/Stack.ts", "syntaxKind": "PropertySignature", "name": "borderRadius", "value": "MaybeAllValuesShorthandProperty>", - "description": "Controls the roundedness of the element's corners using the design system's radius scale.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) using flow-relative values:\n- One value: applies to all corners\n- Two values: applies to start corners (top-left & bottom-right) and end corners (top-right & bottom-left) respectively\n- Three values: applies to start-start (top-left), end corners (top-right & bottom-left), and end-end (bottom-right) respectively\n- Four values: applies to start-start (top-left), start-end (top-right), end-end (bottom-right), and end-start (bottom-left) respectively\n\nExamples:\n- `small-100`: All corners have `small-100` radius\n- `small-100 none`: Top-left and bottom-right are `small-100`, top-right and bottom-left are `none`\n- `small-100 none large-100`: Top-left is `small-100`, top-right and bottom-left are `none`, bottom-right is `large-100`\n- `small-100 none large-100 base`: Each corner has its specified radius value", + "description": "The roundedness of the stack's corners.\n\n- `none`: Sharp corners with no rounding.\n- `small-100` / `small`: Subtle rounding for compact elements.\n- `base`: Standard rounding for most use cases.\n- `large` / `large-100`: More pronounced rounding for prominent containers.\n- `max`: Maximum rounding, creating a pill or circular shape.\n\nSupports 1-to-4-value shorthand syntax for specifying different radii per corner.", "isOptional": true, "defaultValue": "'none'" }, @@ -141365,8 +142108,9 @@ "syntaxKind": "PropertySignature", "name": "borderWidth", "value": "MaybeAllValuesShorthandProperty | ''", - "description": "Controls the thickness of the border on all sides. When set, this overrides the width value specified in the `border` property.\n\nSupports [1-to-4-value syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties#edges_of_a_box) for specifying different widths per side:\n- One value: applies to all sides\n- Two values: applies to block sides (top/bottom) and inline sides (left/right) respectively\n- Three values: applies to block-start (top), inline sides (left/right), and block-end (bottom) respectively\n- Four values: applies to block-start (top), inline-end (right), block-end (bottom), and inline-start (left) respectively", - "isOptional": true + "description": "The thickness of the border on all sides. Supports 1-to-4-value shorthand syntax for specifying different widths per side. Overrides the width value set by `border`.", + "isOptional": true, + "defaultValue": "'' - meaning no override" }, { "filePath": "src/surfaces/checkout/components/Stack.ts", @@ -141471,7 +142215,7 @@ "syntaxKind": "PropertySignature", "name": "columnGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the inline axis.\n\nThis overrides the column value of `gap`.", + "description": "The spacing between child elements along the inline axis (horizontal in horizontal writing modes). Overrides the inline-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -141536,7 +142280,7 @@ "syntaxKind": "PropertySignature", "name": "direction", "value": "MaybeResponsive<\"block\" | \"inline\">", - "description": "Sets how the children are placed within the Stack. This uses [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).", + "description": "The axis along which child elements are arranged, using [logical properties](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values).\n\n- `block`: Children are stacked vertically (in horizontal writing modes). Content does not wrap.\n- `inline`: Children are arranged horizontally (in horizontal writing modes). Content wraps when it overflows.", "isOptional": true, "defaultValue": "'block'" }, @@ -141552,7 +142296,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -141680,7 +142424,7 @@ "syntaxKind": "PropertySignature", "name": "gap", "value": "MaybeResponsive>", - "description": "Adjust spacing between elements.\n\nA single value applies to both axes. A pair of values (eg `large-100 large-500`) can be used to set the inline and block axes respectively.", + "description": "The spacing between child elements. A single value applies to both the inline and block axes. A pair of space-separated values (for example, `large-100 large-500`) sets the inline and block axes independently.", "isOptional": true, "defaultValue": "'none'" }, @@ -141938,7 +142682,7 @@ "syntaxKind": "PropertySignature", "name": "justifyContent", "value": "MaybeResponsive>", - "description": "Aligns the Stack along the main axis.", + "description": "Controls how child elements are distributed along the main axis.\n\n- `normal`: Default browser behavior.\n- `space-between`: Distributes children evenly with no space at the edges.\n- `space-around`: Distributes children evenly with equal space around each.\n- `space-evenly`: Distributes children with equal space between and at the edges.\n- `stretch`: Stretches children to fill the available space.\n- `center`: Packs children toward the center.\n- `start`: Packs children toward the start of the main axis.\n- `end`: Packs children toward the end of the main axis.", "isOptional": true, "defaultValue": "'normal'" }, @@ -142868,7 +143612,7 @@ "syntaxKind": "PropertySignature", "name": "overflow", "value": "'hidden' | 'visible'", - "description": "Sets the overflow behavior of the element.\n\n- `visible`: The content that extends beyond the element\u2019s container is visible.\n- `hidden`: Clips the content when it is larger than the element\u2019s container. The element will not be scrollable and users will not be able to access the clipped content by dragging or using a scroll wheel on a mouse.", + "description": "The overflow behavior of the element.\n\n- `visible`: Content that extends beyond the container is visible.\n- `hidden`: Content that extends beyond the container is clipped and not scrollable.", "isOptional": true, "defaultValue": "'visible'" }, @@ -143117,7 +143861,7 @@ "syntaxKind": "PropertySignature", "name": "rowGap", "value": "MaybeResponsive", - "description": "Adjust spacing between elements in the block axis.\n\nThis overrides the row value of `gap`.", + "description": "The spacing between child elements along the block axis (vertical in horizontal writing modes). Overrides the block-axis value set by `gap`.", "isOptional": true, "defaultValue": "'' - meaning no override" }, @@ -143333,7 +144077,7 @@ "src/surfaces/checkout/components/Summary.ts": { "filePath": "src/surfaces/checkout/components/Summary.ts", "name": "SummaryElementProps", - "description": "The element props interface for the Summary component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -145656,7 +146400,7 @@ "src/surfaces/checkout/components/Switch.ts": { "filePath": "src/surfaces/checkout/components/Switch.ts", "name": "SwitchElementProps", - "description": "Configure the following properties on the switch component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -145672,7 +146416,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -145681,7 +146425,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -145690,7 +146434,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -145698,7 +146442,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -145707,7 +146451,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -145732,7 +146476,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -145769,7 +146513,7 @@ "src/surfaces/checkout/components/Switch.ts": { "filePath": "src/surfaces/checkout/components/Switch.ts", "name": "SwitchElementEvents", - "description": "The switch component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -146300,7 +147044,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -146400,7 +147144,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -146409,7 +147153,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -146466,7 +147210,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -146482,7 +147226,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -146914,7 +147658,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -148165,7 +148909,7 @@ "syntaxKind": "PropertySignature", "name": "checked", "value": "boolean", - "description": "Whether the control is active.", + "description": "Whether the control is currently checked.", "isOptional": true, "defaultValue": "false" }, @@ -148174,7 +148918,7 @@ "syntaxKind": "PropertySignature", "name": "command", "value": "'--auto' | '--show' | '--hide' | '--toggle'", - "description": "Sets the action the `commandFor` should take when this clickable is activated.\n\nSee the documentation of particular components for the actions they support.\n\n- `--auto`: a default action for the target component.\n- `--show`: shows the target component.\n- `--hide`: hides the target component.\n- `--toggle`: toggles the target component.\n- `--copy`: copies the target ClipboardItem.", + "description": "Sets the action the `commandFor` target should take when this component is activated. Available options:\n\n- `'--auto'`: Performs the default action appropriate for the target component.\n- `'--show'`: Displays the target component if it's currently hidden.\n- `'--hide'`: Conceals the target component from view.\n- `'--toggle'`: Alternates the target component between visible and hidden states.\n- `'--copy'`: Copies the target clipboard item.\n\nThe supported actions vary by target component type. Learn more about the [`command` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#command).", "isOptional": true, "defaultValue": "'--auto'" }, @@ -148183,7 +148927,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "ID of a component that should respond to activations (e.g. clicks) on this component.\n\nSee `command` for how to control the behavior of the target.", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -148191,7 +148935,7 @@ "syntaxKind": "PropertySignature", "name": "defaultChecked", "value": "boolean", - "description": "Whether the control is active by default.", + "description": "Whether the control is checked by default.", "isOptional": true, "defaultValue": "false" }, @@ -148200,7 +148944,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the control, disallowing any interaction.", + "description": "Whether the control is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -148225,7 +148969,7 @@ "syntaxKind": "PropertySignature", "name": "name", "value": "string", - "description": "An identifier for the control that is unique within the nearest containing `Form` component.", + "description": "The name attribute for the control, used to identify its value when the form is submitted. Must be unique within the nearest containing form.", "isOptional": true }, { @@ -148252,7 +148996,7 @@ "src/surfaces/checkout/components/Text.ts": { "filePath": "src/surfaces/checkout/components/Text.ts", "name": "TextElementProps", - "description": "The element props interface for the Text component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -148260,7 +149004,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -148269,7 +149013,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -148278,7 +149022,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -148287,7 +149031,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -148304,7 +149048,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, @@ -148313,7 +149057,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -148322,12 +149066,12 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'small' | 'address' | 'mark' | 'strong' | 'generic' | 'redundant' | 'emphasis' | 'offset'", - "description": "Provide semantic meaning and default styling to the text.\n\nOther presentation properties on Text override the default styling.", + "description": "The semantic type and styling treatment for the text content.\n\nOther presentation properties on `s-text` override the default styling.\n\n- `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n- `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n- `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n- `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n- `offset`: A semantic type that indicates an offset from the normal prose of the text.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n- `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n- `generic`: No additional semantics or styling is applied.", "isOptional": true, "defaultValue": "'generic'" } ], - "value": "export interface TextElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n type?: Extract;\n}" + "value": "export interface TextElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * The semantic type and styling treatment for the text content.\n *\n * Other presentation properties on `s-text` override the default styling.\n *\n * - `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n * - `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n * - `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n * - `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n * - `offset`: A semantic type that indicates an offset from the normal prose of the text.\n * - `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n * - `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n * - `generic`: No additional semantics or styling is applied.\n *\n * @default 'generic'\n */\n type?: Extract;\n}" } }, "TextElement": { @@ -148341,7 +149085,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -148938,7 +149682,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -148996,7 +149740,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -149012,7 +149756,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -149380,7 +150124,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, @@ -150626,7 +151370,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -150642,7 +151386,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'small' | 'address' | 'mark' | 'strong' | 'generic' | 'redundant' | 'emphasis' | 'offset'", - "description": "Provide semantic meaning and default styling to the text.\n\nOther presentation properties on Text override the default styling.", + "description": "The semantic type and styling treatment for the text content.\n\nOther presentation properties on `s-text` override the default styling.\n\n- `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n- `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n- `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n- `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n- `offset`: A semantic type that indicates an offset from the normal prose of the text.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n- `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n- `generic`: No additional semantics or styling is applied.", "isOptional": true, "defaultValue": "'generic'" }, @@ -150676,7 +151420,7 @@ "syntaxKind": "PropertySignature", "name": "accessibilityVisibility", "value": "'visible' | 'hidden' | 'exclusive'", - "description": "Changes the visibility of the element.\n\n- `visible`: the element is visible to all users.\n- `hidden`: the element is removed from the accessibility tree but remains visible.\n- `exclusive`: the element is visually hidden but remains in the accessibility tree.", + "description": "Controls how the element is exposed to sighted users and to assistive technologies such as screen readers.\n\n- `visible`: The element is visible to all users (both sighted users and screen readers).\n- `hidden`: The element is visually visible but hidden from screen readers. Use this for decorative elements that don't provide meaningful information.\n- `exclusive`: The element is visually hidden but announced by screen readers. Use this for screen-reader-only content like skip links or additional context.", "isOptional": true, "defaultValue": "'visible'" }, @@ -150685,7 +151429,7 @@ "syntaxKind": "PropertySignature", "name": "color", "value": "'base' | 'subdued'", - "description": "Modify the color to be more or less intense.", + "description": "The color emphasis level that controls visual intensity.\n\n- `subdued`: Deemphasized color for secondary text, supporting labels, and less critical interface elements.\n- `base`: Primary color for body text, standard UI elements, and general content with good readability.\n- `strong`: Higher-contrast color for text that needs more emphasis than `base`.", "isOptional": true, "defaultValue": "'base'" }, @@ -150694,7 +151438,7 @@ "syntaxKind": "PropertySignature", "name": "dir", "value": "'ltr' | 'rtl' | 'auto' | ''", - "description": "Indicates the directionality of the element\u2019s text.\n\n- `ltr`: languages written from left to right (e.g. English)\n- `rtl`: languages written from right to left (e.g. Arabic)\n- `auto`: the user agent determines the direction based on the content\n- `''`: direction is inherited from parent elements (equivalent to not setting the attribute)", + "description": "Indicates the directionality of the element’s text.\n\n- `ltr`: The languages written from left to right (such as English).\n- `rtl`: The languages written from right to left (such as Arabic).\n- `auto`: The user agent determines the direction based on the content.\n- `\"\"`: The direction is inherited from parent elements (equivalent to not setting the attribute).\n\nLearn more about the [dir attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir).", "isOptional": true, "defaultValue": "''" }, @@ -150703,7 +151447,7 @@ "syntaxKind": "PropertySignature", "name": "display", "value": "MaybeResponsive<\"auto\" | \"none\">", - "description": "Sets the outer display type of the component. The outer type sets a component\u2019s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: the component\u2019s initial value. The actual value depends on the component and context.\n- `none`: hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.", + "description": "Sets the outer display type of the component. The outer type sets a component’s participation in [flow layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flow_layout).\n\n- `auto`: The component’s initial value. The actual value depends on the component and context.\n- `none`: Hides the component from display and removes it from the accessibility tree, making it invisible to screen readers.\n\nLearn more about the [display property](https://developer.mozilla.org/en-US/docs/Web/CSS/display).", "isOptional": true, "defaultValue": "'auto'" }, @@ -150720,7 +151464,7 @@ "syntaxKind": "PropertySignature", "name": "lang", "value": "string", - "description": "Indicate the text language. Useful when the text is in a different language than the rest of the page. It will allow assistive technologies such as screen readers to invoke the correct pronunciation. [Reference of values](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry) (\"subtag\" label)\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content\u2019s direction is different.", + "description": "The language of the text content. Use this when the text is in a different language than the rest of the page, allowing assistive technologies such as screen readers to invoke the correct pronunciation.\n\nThe value should be a valid language subtag from the [IANA language subtag registry](https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry).\n\nIt is recommended to combine it with the `dir` attribute to ensure the text is rendered correctly if the surrounding content’s direction is different.", "isOptional": true, "defaultValue": "''" }, @@ -150729,7 +151473,7 @@ "syntaxKind": "PropertySignature", "name": "tone", "value": "'custom' | 'success' | 'info' | 'auto' | 'neutral' | 'warning' | 'critical'", - "description": "Sets the tone of the component, based on the intention of the information being conveyed.", + "description": "The semantic meaning and color treatment of the component.\n\n- `auto`: Automatically determined based on context.\n- `neutral`: General information without specific intent.\n- `info`: Informational content or helpful tips.\n- `success`: Positive outcomes or successful states.\n- `caution`: Advisory notices that need attention.\n- `warning`: Important warnings about potential issues.\n- `critical`: Urgent problems or destructive actions.\n- `accent`: Highlighted or promotional content.\n- `custom`: Custom styling controlled by your theme.", "isOptional": true, "defaultValue": "'auto'" }, @@ -150738,7 +151482,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'small' | 'address' | 'mark' | 'strong' | 'generic' | 'redundant' | 'emphasis' | 'offset'", - "description": "Provide semantic meaning and default styling to the text.\n\nOther presentation properties on Text override the default styling.", + "description": "The semantic type and styling treatment for the text content.\n\nOther presentation properties on `s-text` override the default styling.\n\n- `address`: A semantic type that indicates the text is contact information. Typically used for addresses.\n- `redundant`: A semantic type that indicates the text is no longer accurate or no longer relevant. One such use-case is discounted prices.\n- `mark`: A semantic type that indicates the text is marked or highlighted and relevant to the user's current action.\n- `emphasis`: A semantic type that indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.\n- `offset`: A semantic type that indicates an offset from the normal prose of the text.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n- `strong`: A semantic type that indicates strong importance, seriousness, or urgency.\n- `generic`: No additional semantics or styling is applied.", "isOptional": true, "defaultValue": "'generic'" } @@ -150750,7 +151494,7 @@ "src/surfaces/checkout/components/TextArea.ts": { "filePath": "src/surfaces/checkout/components/TextArea.ts", "name": "TextAreaElementProps", - "description": "Configure the following properties on the text area component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -150758,9 +151502,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextArea.ts", @@ -150775,7 +151519,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -150826,7 +151570,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -150906,7 +151650,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -150922,7 +151666,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -150933,7 +151677,7 @@ "src/surfaces/checkout/components/TextArea.ts": { "filePath": "src/surfaces/checkout/components/TextArea.ts", "name": "TextAreaElementEvents", - "description": "The text area component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -151438,9 +152182,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextArea.ts", @@ -151644,7 +152388,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -152102,7 +152846,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -153391,9 +154135,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextArea.ts", @@ -153408,7 +154152,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -153459,7 +154203,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -153484,7 +154228,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -153500,7 +154244,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -153556,7 +154300,7 @@ "src/surfaces/checkout/components/TextField.ts": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementProps", - "description": "Configure the following properties on the text field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -153564,9 +154308,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextField.ts", @@ -153581,7 +154325,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -153641,7 +154385,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -153668,7 +154412,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -153695,7 +154439,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -153730,7 +154474,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -153746,7 +154490,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -153757,7 +154501,7 @@ "src/surfaces/checkout/components/TextField.ts": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementEvents", - "description": "The text field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -153800,7 +154544,7 @@ "src/surfaces/checkout/components/TextField.ts": { "filePath": "src/surfaces/checkout/components/TextField.ts", "name": "TextFieldElementSlots", - "description": "The text field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -154281,9 +155025,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextField.ts", @@ -154487,7 +155231,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -154953,7 +155697,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -155851,7 +156595,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -156146,7 +156890,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -156244,9 +156988,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/TextField.ts", @@ -156261,7 +157005,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -156320,7 +157064,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -156345,7 +157089,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -156361,7 +157105,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -156379,7 +157123,7 @@ "syntaxKind": "PropertySignature", "name": "prefix", "value": "string", - "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", + "description": "A value to be displayed immediately before the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"https://\" or \"+353\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the prefix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -156406,7 +157150,7 @@ "syntaxKind": "PropertySignature", "name": "suffix", "value": "string", - "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis cannot be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", + "description": "A value to be displayed immediately after the editable portion of the field.\n\nThis is useful for displaying an implied part of the value, such as \"@shopify.com\", or \"%\".\n\nThis can't be edited by the user, and it isn't included in the value of the field.\n\nIt may not be displayed until the user has interacted with the input. For example, an inline label may take the place of the suffix until the user focuses the input.", "isOptional": true, "defaultValue": "''" }, @@ -156426,7 +157170,7 @@ "src/surfaces/checkout/components/Time.ts": { "filePath": "src/surfaces/checkout/components/Time.ts", "name": "TimeElementProps", - "description": "The element props interface for the Time component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -156434,7 +157178,7 @@ "syntaxKind": "PropertySignature", "name": "dateTime", "value": "string", - "description": "Set the time and/or date of the element.\n\nIt must be a [valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values).", + "description": "The machine-readable date and/or time value for the element. Use this to provide a datetime string that browsers, search engines, and assistive technologies can parse for improved semantics and functionality.\n\nThe value must be a [valid datetime string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values), such as `2024-01-15`, `14:30`, or `2024-01-15T14:30:00`.", "isOptional": true, "defaultValue": "''" }, @@ -157098,7 +157842,7 @@ "syntaxKind": "PropertySignature", "name": "dateTime", "value": "string", - "description": "Set the time and/or date of the element.\n\nIt must be a [valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values).", + "description": "The machine-readable date and/or time value for the element. Use this to provide a datetime string that browsers, search engines, and assistive technologies can parse for improved semantics and functionality.\n\nThe value must be a [valid datetime string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values), such as `2024-01-15`, `14:30`, or `2024-01-15T14:30:00`.", "isOptional": true, "defaultValue": "''" }, @@ -158756,7 +159500,7 @@ "syntaxKind": "PropertySignature", "name": "dateTime", "value": "string", - "description": "Set the time and/or date of the element.\n\nIt must be a [valid date string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values).", + "description": "The machine-readable date and/or time value for the element. Use this to provide a datetime string that browsers, search engines, and assistive technologies can parse for improved semantics and functionality.\n\nThe value must be a [valid datetime string](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time#valid_datetime_values), such as `2024-01-15`, `14:30`, or `2024-01-15T14:30:00`.", "isOptional": true, "defaultValue": "''" }, @@ -158831,7 +159575,7 @@ "src/surfaces/checkout/components/UnorderedList.ts": { "filePath": "src/surfaces/checkout/components/UnorderedList.ts", "name": "UnorderedListElementProps", - "description": "The element props interface for the UnorderedList component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -161154,7 +161898,7 @@ "src/surfaces/checkout/components/UrlField.ts": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementProps", - "description": "Configure the following properties on the URL field component.", + "description": "", "isPublicDocs": true, "members": [ { @@ -161162,9 +161906,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/UrlField.ts", @@ -161179,7 +161923,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -161230,7 +161974,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -161291,7 +162035,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -161307,7 +162051,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true } ], @@ -161318,7 +162062,7 @@ "src/surfaces/checkout/components/UrlField.ts": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementEvents", - "description": "The URL field component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).", + "description": "", "isPublicDocs": true, "members": [ { @@ -161361,7 +162105,7 @@ "src/surfaces/checkout/components/UrlField.ts": { "filePath": "src/surfaces/checkout/components/UrlField.ts", "name": "URLFieldElementSlots", - "description": "The URL field component supports slots for additional content placement within the component. Learn more about [using slots](/docs/api/polaris/using-polaris-web-components#slots).", + "description": "", "isPublicDocs": true, "members": [ { @@ -161842,9 +162586,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/UrlField.ts", @@ -162048,7 +162792,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -162506,7 +163250,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -163769,9 +164513,9 @@ "syntaxKind": "PropertySignature", "name": "autocomplete", "value": "AutocompleteField | `${AutocompleteSection} ${AutocompleteField}` | `${AutocompleteGroup} ${AutocompleteField}` | `${AutocompleteSection} ${AutocompleteGroup} ${AutocompleteField}` | \"on\" | \"off\"", - "description": "A hint as to the intended content of the field.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.", + "description": "A hint about the intended content of the field for browser autofill.\n\nWhen set to `on` (the default), this property indicates that the field should support autofill, but you do not have any more semantic information on the intended contents.\n\nWhen set to `off`, you are indicating that this field contains sensitive information, or contents that are never saved, like one-time codes.\n\nAlternatively, you can provide value which describes the specific data you would like to be entered into this field during autofill.\n\nLearn more about the set of [autocomplete values](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill-detail-tokens) supported in browsers.", "isOptional": true, - "defaultValue": "'on' for everything else" + "defaultValue": "'on'" }, { "filePath": "src/surfaces/checkout/components/UrlField.ts", @@ -163786,7 +164530,7 @@ "syntaxKind": "PropertySignature", "name": "disabled", "value": "boolean", - "description": "Disables the field, disallowing any interaction.", + "description": "Whether the field is disabled, preventing any user interaction.", "isOptional": true, "defaultValue": "false" }, @@ -163837,7 +164581,7 @@ "syntaxKind": "PropertySignature", "name": "minLength", "value": "number", - "description": "Specifies the min number of characters allowed.", + "description": "Specifies the minimum number of characters allowed.", "isOptional": true, "defaultValue": "0" }, @@ -163862,7 +164606,7 @@ "syntaxKind": "PropertySignature", "name": "onChange", "value": "(event: Event) => void", - "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter. Learn more about the [change event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event).", + "description": "A callback fired when the user has **finished editing** a field, such as when they blur the field or press Enter.", "isOptional": true }, { @@ -163878,7 +164622,7 @@ "syntaxKind": "PropertySignature", "name": "onInput", "value": "(event: Event) => void", - "description": "A callback fired when the user makes any changes in the field, such as typing a character. Learn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", + "description": "A callback fired when the user makes any changes in the field, such as typing a character.\n\nLearn more about the [input event](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event).", "isOptional": true }, { @@ -164533,60 +165277,6 @@ "value": "export function useDeliveryGroup<\n ID extends RenderExtensionTarget = RenderExtensionTarget,\n>(deliveryGroup: DeliveryGroup | undefined): DeliveryGroupDetails | undefined {\n const {lines} = useApi();\n const cartLines = useSubscription(lines);\n\n return useMemo(() => {\n if (!deliveryGroup) {\n return undefined;\n }\n\n const deliveryGroupDetails = {\n ...deliveryGroup,\n selectedDeliveryOption: getSelectedDeliveryOption(deliveryGroup),\n targetedCartLines: getTargetedCartLines(deliveryGroup, cartLines),\n };\n\n return deliveryGroupDetails;\n }, [deliveryGroup, cartLines]);\n}" } }, - "DeliveryGroupDetails": { - "src/surfaces/checkout/api/standard/standard.ts": { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "name": "DeliveryGroupDetails", - "description": "Represents a DeliveryGroup with expanded reference fields and full details.", - "members": [ - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "deliveryOptions", - "value": "DeliveryOption[]", - "description": "The delivery options available for this group, including shipping, pickup point, and pickup location options. The buyer selects one of these to determine how their items are delivered." - }, - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "groupType", - "value": "DeliveryGroupType", - "description": "Whether this group contains items for a one-time purchase or a subscription. Subscription delivery groups might have different shipping options. See `DeliveryGroupType` for possible values." - }, - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "id", - "value": "string", - "description": "A unique identifier for the delivery group. The value is `undefined` if the underlying delivery line doesn't have an ID assigned.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "isDeliveryRequired", - "value": "boolean", - "description": "Whether physical delivery is required for the items in this group. Digital-only groups don't require delivery." - }, - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "selectedDeliveryOption", - "value": "DeliveryOption", - "description": "The full delivery option the buyer has selected for this group, with all cost and carrier details included. The value is `undefined` if the buyer hasn't selected an option yet. Unlike `DeliveryGroup.selectedDeliveryOption`, which is a reference, this contains the complete `DeliveryOption` object.", - "isOptional": true - }, - { - "filePath": "src/surfaces/checkout/api/standard/standard.ts", - "syntaxKind": "PropertySignature", - "name": "targetedCartLines", - "value": "CartLine[]", - "description": "The full cart line objects associated with this delivery group, with all merchandise and cost details included. Unlike `DeliveryGroup.targetedCartLines`, which contains references, this contains the complete `CartLine` objects." - } - ], - "value": "export interface DeliveryGroupDetails extends DeliveryGroup {\n /**\n * The full delivery option the buyer has selected for this group, with all cost and carrier details included. The value is `undefined` if the buyer hasn't selected an option yet. Unlike `DeliveryGroup.selectedDeliveryOption`, which is a reference, this contains the complete `DeliveryOption` object.\n */\n selectedDeliveryOption?: DeliveryOption;\n\n /**\n * The full cart line objects associated with this delivery group, with all merchandise and cost details included. Unlike `DeliveryGroup.targetedCartLines`, which contains references, this contains the complete `CartLine` objects.\n */\n targetedCartLines: CartLine[];\n}" - } - }, "UseDeliveryGroupsGeneratedType": { "src/surfaces/checkout/preact/delivery-groups.ts": { "filePath": "src/surfaces/checkout/preact/delivery-groups.ts", @@ -164823,7 +165513,7 @@ "src/surfaces/checkout/preact/localized-fields.ts": { "filePath": "src/surfaces/checkout/preact/localized-fields.ts", "name": "UseLocalizedFieldGeneratedType", - "description": "Returns the current localized field or undefined for the specified localized field key and re-renders your component if the value changes.", + "description": "Returns the current localized field or undefined for the specified localized field key and re-renders your component if the value changes.\n\nReturns `undefined` when no field is configured for the buyer's country.", "isPublicDocs": true, "params": [ { @@ -164961,31 +165651,6 @@ "value": "export function useApplyPaymentMethodAttributesChange(): (\n change: PaymentMethodAttributesChange,\n) => Promise {\n const api = useApi<\n | 'purchase.checkout.payment-option-item.details.render'\n | 'purchase.checkout.payment-option-item.hosted-fields.render-after'\n >();\n\n if (!api.applyPaymentMethodAttributesChange) {\n throw new ExtensionHasNoMethodError(\n 'useApplyPaymentMethodAttributesChange',\n api.extension.target,\n );\n }\n\n return api.applyPaymentMethodAttributesChange;\n}" } }, - "PaymentMethodAttributesChange": { - "src/surfaces/checkout/api/payment/payment-option-item.ts": { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "PaymentMethodAttributesChange", - "value": "PaymentMethodAttributesUpdateChange", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "syntaxKind": "PropertySignature", - "name": "attributes", - "value": "PaymentMethodAttribute[]", - "description": "The payment method attributes" - }, - { - "filePath": "src/surfaces/checkout/api/payment/payment-option-item.ts", - "syntaxKind": "PropertySignature", - "name": "type", - "value": "'updatePaymentMethodAttributes'", - "description": "The type of the `PaymentMethodAttributesChange` API." - } - ] - } - }, "UseAvailablePaymentOptionsGeneratedType": { "src/surfaces/checkout/preact/payment-options.ts": { "filePath": "src/surfaces/checkout/preact/payment-options.ts", @@ -165050,38 +165715,6 @@ "value": "export function useApplyRedeemableChange(): (\n change: RedeemableChange,\n) => Promise {\n const api = useApi<'purchase.checkout.gift-card.render'>();\n\n if (!api.applyRedeemableChange) {\n throw new ExtensionHasNoMethodError(\n 'useApplyRedeemableChange',\n api.extension.target,\n );\n }\n\n return api.applyRedeemableChange;\n}" } }, - "RedeemableChange": { - "src/surfaces/checkout/api/redeemable/redeemable.ts": { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "syntaxKind": "TypeAliasDeclaration", - "name": "RedeemableChange", - "value": "RedeemableAddChange", - "description": "", - "members": [ - { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "syntaxKind": "PropertySignature", - "name": "attributes", - "value": "RedeemableAttribute[]", - "description": "The redeemable attributes." - }, - { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "syntaxKind": "PropertySignature", - "name": "identifier", - "value": "string", - "description": "The identifier used to represent the redeemable (e.g. the gift card code)." - }, - { - "filePath": "src/surfaces/checkout/api/redeemable/redeemable.ts", - "syntaxKind": "PropertySignature", - "name": "type", - "value": "'redeemableAddChange'", - "description": "The type of the `RedeemableChange` API." - } - ] - } - }, "UseSessionTokenGeneratedType": { "src/surfaces/checkout/preact/session-token.ts": { "filePath": "src/surfaces/checkout/preact/session-token.ts", @@ -165210,4 +165843,4 @@ "value": "export function useTranslate<\n Target extends RenderExtensionTarget = RenderExtensionTarget,\n>(): I18nTranslate {\n const api = useApi();\n return api.i18n.translate.bind(api.i18n);\n}" } } -} +} \ No newline at end of file diff --git a/packages/ui-extensions/docs/surfaces/checkout/generated/targets.json b/packages/ui-extensions/docs/surfaces/checkout/generated/targets.json new file mode 100644 index 0000000000..e70e2b820f --- /dev/null +++ b/packages/ui-extensions/docs/surfaces/checkout/generated/targets.json @@ -0,0 +1,5799 @@ +{ + "purchase.checkout.actions.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.cart-line-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.cart-line-item.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLineItemApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.contact.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.delivery-address.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.delivery-address.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.block.render": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.block.render": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.cart-line-item.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLineItemApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.cart-line-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.customer-information.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.payment-method-list.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.payment-method-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.reductions.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.reductions.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.shipping-option-list.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShippingOptionListApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.shipping-option-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShippingOptionListApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.pickup-location-list.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "PickupLocationListApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.pickup-location-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "PickupLocationListApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.shipping-option-item.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShippingOptionItemApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.shipping-option-item.details.render": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShippingOptionItemApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.pickup-point-list.render-before": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "PickupPointListApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.pickup-point-list.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "PickupPointListApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.pickup-location-option-item.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "PickupLocationItemApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.header.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.footer.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.checkout.chat.render": { + "components": [ + "Chat" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.header.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.footer.render-after": { + "components": [ + "Abbreviation", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.chat.render": { + "components": [ + "Chat" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.thank-you.announcement.render": { + "components": [ + "Abbreviation", + "Announcement", + "Badge", + "Banner", + "Box", + "Button", + "Chat", + "Checkbox", + "Chip", + "Choice", + "ChoiceList", + "Clickable", + "ClickableChip", + "ClipboardItem", + "ConsentCheckbox", + "ConsentPhoneField", + "DateField", + "DatePicker", + "Details", + "Divider", + "DropZone", + "EmailField", + "Form", + "Grid", + "GridItem", + "Heading", + "Icon", + "Image", + "Link", + "ListItem", + "Map", + "MapMarker", + "Modal", + "MoneyField", + "NumberField", + "Option", + "OrderedList", + "Paragraph", + "PasswordField", + "PaymentIcon", + "PhoneField", + "Popover", + "PressButton", + "ProductThumbnail", + "Progress", + "QRCode", + "QueryContainer", + "ScrollBox", + "Section", + "Select", + "Sheet", + "SkeletonParagraph", + "Spinner", + "Stack", + "Summary", + "Switch", + "Text", + "TextArea", + "TextField", + "Time", + "Tooltip", + "UnorderedList", + "UrlField" + ], + "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "BuyerIdentityApi", + "BuyerJourneyApi", + "CartInstructionsApi", + "CartLinesApi", + "CheckoutTokenApi", + "CostApi", + "CustomerPrivacyApi", + "DeliveryApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "LocalizationApi", + "LocalizedFieldsApi", + "MetafieldsApi", + "NoteApi", + "OrderConfirmationApi", + "PaymentsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.address-autocomplete.suggest": { + "components": [], + "apis": [ + "AddressAutocompleteSuggestApi", + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "CheckoutTokenApi", + "ExtensionApi", + "LocalizationApi", + "MetafieldsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "purchase.address-autocomplete.format-suggestion": { + "components": [], + "apis": [ + "AddressAutocompleteFormatSuggestionApi", + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "CheckoutTokenApi", + "ExtensionApi", + "LocalizationApi", + "MetafieldsApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi" + ] + }, + "AddressesApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "AnalyticsApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "AttributesApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "BuyerIdentityApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "BuyerJourneyApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CartInstructionsApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CartLinesApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CheckoutTokenApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CostApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CustomerPrivacyApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "DeliveryApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "DiscountsApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ExtensionApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "GiftCardsApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "LocalizationApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "LocalizedFieldsApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "MetafieldsApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "NoteApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "PaymentsApi": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "SessionTokenApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "SettingsApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ShopApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "StorageApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "StorefrontApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "CartLineItemApi": { + "targets": [ + "purchase.checkout.cart-line-item.render-after", + "purchase.thank-you.cart-line-item.render-after" + ] + }, + "OrderConfirmationApi": { + "targets": [ + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ShippingOptionListApi": { + "targets": [ + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before" + ] + }, + "PickupLocationListApi": { + "targets": [ + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before" + ] + }, + "ShippingOptionItemApi": { + "targets": [ + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after" + ] + }, + "PickupPointListApi": { + "targets": [ + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before" + ] + }, + "PickupLocationItemApi": { + "targets": [ + "purchase.checkout.pickup-location-option-item.render-after" + ] + }, + "AddressAutocompleteSuggestApi": { + "targets": [ + "purchase.address-autocomplete.suggest" + ] + }, + "AddressAutocompleteFormatSuggestionApi": { + "targets": [ + "purchase.address-autocomplete.format-suggestion" + ] + }, + "Abbreviation": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Badge": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Banner": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Box": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Button": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Chat": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Checkbox": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Chip": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Choice": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ChoiceList": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Clickable": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ClickableChip": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ClipboardItem": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ConsentCheckbox": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ConsentPhoneField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "DateField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "DatePicker": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Details": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Divider": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "DropZone": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "EmailField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Form": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Grid": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "GridItem": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Heading": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Icon": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Image": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Link": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ListItem": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Map": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "MapMarker": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Modal": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "MoneyField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "NumberField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Option": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "OrderedList": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Paragraph": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "PasswordField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "PaymentIcon": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "PhoneField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Popover": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "PressButton": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ProductThumbnail": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Progress": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "QRCode": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "QueryContainer": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "ScrollBox": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Section": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Select": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Sheet": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "SkeletonParagraph": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Spinner": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Stack": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Summary": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Switch": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Text": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "TextArea": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "TextField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Time": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Tooltip": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "UnorderedList": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "UrlField": { + "targets": [ + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + }, + "Announcement": { + "targets": [ + "purchase.thank-you.announcement.render" + ] + }, + "StyleHelper": { + "targets": [ + "purchase.address-autocomplete.format-suggestion", + "purchase.address-autocomplete.suggest", + "purchase.checkout.actions.render-before", + "purchase.checkout.block.render", + "purchase.checkout.cart-line-item.render-after", + "purchase.checkout.cart-line-list.render-after", + "purchase.checkout.chat.render", + "purchase.checkout.contact.render-after", + "purchase.checkout.delivery-address.render-after", + "purchase.checkout.delivery-address.render-before", + "purchase.checkout.footer.render-after", + "purchase.checkout.header.render-after", + "purchase.checkout.payment-method-list.render-after", + "purchase.checkout.payment-method-list.render-before", + "purchase.checkout.pickup-location-list.render-after", + "purchase.checkout.pickup-location-list.render-before", + "purchase.checkout.pickup-location-option-item.render-after", + "purchase.checkout.pickup-point-list.render-after", + "purchase.checkout.pickup-point-list.render-before", + "purchase.checkout.reductions.render-after", + "purchase.checkout.reductions.render-before", + "purchase.checkout.shipping-option-item.details.render", + "purchase.checkout.shipping-option-item.render-after", + "purchase.checkout.shipping-option-list.render-after", + "purchase.checkout.shipping-option-list.render-before", + "purchase.thank-you.announcement.render", + "purchase.thank-you.block.render", + "purchase.thank-you.cart-line-item.render-after", + "purchase.thank-you.cart-line-list.render-after", + "purchase.thank-you.chat.render", + "purchase.thank-you.customer-information.render-after", + "purchase.thank-you.footer.render-after", + "purchase.thank-you.header.render-after" + ] + } +} \ No newline at end of file diff --git a/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/generated_docs_data_v2.json b/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/generated_docs_data_v2.json index 7a62b70398..5430d379af 100644 --- a/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/generated_docs_data_v2.json +++ b/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/generated_docs_data_v2.json @@ -1,10 +1,10 @@ { "DataGeneratedType": { - "src/docs/shared/components/Announcement.ts": { - "filePath": "src/docs/shared/components/Announcement.ts", + "src/docs/shared/components/Abbreviation.ts": { + "filePath": "src/docs/shared/components/Abbreviation.ts", "name": "DataGeneratedType", "description": "", - "value": "data: SharedReferenceEntityTemplateSchema = {\n name: 'Announcement',\n description:\n 'The Announcement component provides a less disruptive alternative to auto-open modals for capturing user attention. It provides a standardized way to engage users without being too intrusive.',\n category: 'Web components',\n subCategory: 'Feedback and status indicators',\n related: [],\n}" + "value": "data: SharedReferenceEntityTemplateSchema = {\n name: 'Abbreviation',\n description:\n 'Displays abbreviated text or acronyms, revealing their full meaning or additional context through a tooltip on hover or focus. Use to clarify shortened terms, initialisms, or technical language without interrupting the reading flow.',\n category: 'Web components',\n subCategory: 'Typography and content',\n related: [],\n}" } }, "ValidationError": { @@ -114,7 +114,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.", + "description": "The value associated with the attribute key. This is a freeform string that can store any information the buyer or app provides.\n\nAttribute values are always strings. To store structured data, serialize it to JSON and parse it when reading.", "examples": [ { "title": "Example", @@ -129,7 +129,7 @@ ] } ], - "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" + "value": "export interface Attribute {\n /**\n * The identifier for the attribute. Each key must be unique within the\n * set of attributes on the cart or checkout. If you call\n * `applyAttributeChange()` with a key that already exists, then the\n * existing value is replaced.\n *\n * @example 'gift_wrapping'\n */\n key: string;\n\n /**\n * The value associated with the attribute key. This is a freeform string\n * that can store any information the buyer or app provides.\n *\n * Attribute values are always strings. To store structured data, serialize\n * it to JSON and parse it when reading.\n *\n * @example 'Please use red wrapping paper'\n */\n value: string;\n}" } }, "MailingAddress": { @@ -651,10 +651,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." + "description": "The cart line that this extension is attached to. Use this to read the line item's merchandise, quantity, cost, and attributes.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties.\n\n> Note: Until version `2023-04`, this property was a `ReadonlySignalLike`." } ], - "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" + "value": "export interface CartLineItemApi {\n /**\n * The cart line that this extension is attached to. Use this to read the\n * line item's merchandise, quantity, cost, and attributes.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n *\n * > Note: Until version `2023-04`, this property was a `ReadonlySignalLike`.\n */\n target: SubscribableSignalLike;\n}" } }, "SubscribableSignalLike": { @@ -1341,7 +1341,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -1351,7 +1351,7 @@ "description": "Indicates that the note change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface NoteChangeResultError {\n /**\n * Indicates that the note change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "NoteChangeResult": { @@ -1514,7 +1514,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -1524,7 +1524,7 @@ "description": "Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error." } ], - "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface CartLineChangeResultError {\n /**\n * Indicates that the line item wasn't changed successfully. Refer to the `message` property for details about the error.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "CartLineChangeResult": { @@ -1961,7 +1961,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -1971,7 +1971,7 @@ "description": "Indicates that the gift card change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface GiftCardChangeResultError {\n /**\n * Indicates that the gift card change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "MetafieldRemoveCartChange": { @@ -2072,7 +2072,7 @@ "syntaxKind": "PropertySignature", "name": "message", "value": "string", - "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer." + "description": "A message that explains the error. This message is useful for debugging. It isn't localized and shouldn't be displayed to the buyer.\n\nRender your own localized error text rather than displaying this message to the buyer." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", @@ -2082,7 +2082,7 @@ "description": "Indicates that the metafield change couldn't be applied. Check the `message` property for details." } ], - "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n */\n message: string;\n}" + "value": "export interface MetafieldChangeResultError {\n /**\n * Indicates that the metafield change couldn't be applied. Check the `message` property for details.\n */\n type: 'error';\n\n /**\n * A message that explains the error. This message is useful for debugging.\n * It isn't localized and shouldn't be displayed to the buyer.\n *\n * Render your own localized error text rather than displaying this message\n * to the buyer.\n */\n message: string;\n}" } }, "MetafieldChangeResult": { @@ -2244,7 +2244,7 @@ "syntaxKind": "MethodSignature", "name": "applyAttributeChange", "value": "(change: AttributeChange) => Promise", - "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", + "description": "Updates or removes an attribute on the cart and checkout. On success, the [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.", "deprecationMessage": "Use cart metafields instead." }, { @@ -2252,42 +2252,42 @@ "syntaxKind": "MethodSignature", "name": "applyCartLinesChange", "value": "(change: CartLineChange) => Promise", - "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n\nAccepts a single change per call. To make multiple changes, call this method separately for each one.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyDiscountCodeChange", "value": "(change: DiscountCodeChange) => Promise", - "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyGiftCardChange", "value": "(change: GiftCardChange) => Promise", - "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n\nUnlike other write operations, gift card changes aren't gated by a cart instruction flag.\n\n> Caution: > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n\n> Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyMetafieldChange", "value": "(change: MetafieldChange) => Promise", - "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Creates, updates, or removes a cart metafield on the checkout. On success, the [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n\nCart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyNoteChange", "value": "(change: NoteChange) => Promise", - "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." + "description": "Sets or removes the buyer's note on the checkout. On success, the [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note) property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay." }, { "filePath": "src/surfaces/checkout/api/checkout/checkout.ts", "syntaxKind": "MethodSignature", "name": "applyShippingAddressChange", "value": "(change: ShippingAddressUpdateChange) => Promise", - "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", + "description": "Updates the buyer's shipping address on the checkout. The provided fields are merged into the existing address without prompting the buyer. On success, the `shippingAddress` property updates to reflect the change.\n\n> Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).", "isOptional": true }, { @@ -2300,7 +2300,7 @@ "isPrivate": true } ], - "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#standardapi-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#standardapi-propertydetail-lines) property updates with the new state.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#standardapi-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#standardapi-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#standardapi-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#standardapi-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#standardapi-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" + "value": "export interface CheckoutApi {\n /**\n * Updates or removes an attribute on the cart and checkout. On success, the\n * [`attributes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/attributes#properties-propertydetail-attributes) property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `attributes.canUpdateAttributes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * @deprecated Use cart metafields instead.\n */\n applyAttributeChange(change: AttributeChange): Promise;\n\n /**\n * Adds, removes, or updates line items in the cart. The returned promise resolves when the change has been applied by the server, and the [`lines`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-lines#properties-propertydetail-lines) property updates with the new state.\n *\n * Accepts a single change per call. To make multiple changes, call this\n * method separately for each one.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `lines.canAddCartLine` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyCartLinesChange(change: CartLineChange): Promise;\n\n /**\n * Adds or removes a discount code on the checkout. The returned promise resolves when the change has been applied by the server, and the [`discountCodes`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/discounts#properties-propertydetail-discountcodes) property updates with the new state.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves discount codes through a network call.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `discounts.canUpdateDiscountCodes` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyDiscountCodeChange(\n change: DiscountCodeChange,\n ): Promise;\n\n /**\n * Adds or removes a gift card from the checkout. The returned promise resolves when the change has been applied by the server, and the [`appliedGiftCards`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/gift-cards#properties-propertydetail-appliedgiftcards) property updates with the new state.\n *\n * Unlike other write operations, gift card changes aren't gated by a cart\n * instruction flag.\n *\n * > Caution:\n * > See [security considerations](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access) if your extension retrieves gift card codes through a network call.\n *\n * > Note: This method returns an error if the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyGiftCardChange(change: GiftCardChange): Promise;\n\n /**\n * Creates, updates, or removes a cart metafield on the checkout. On success, the\n * [`metafields`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/metafields#properties-propertydetail-metafields) property updates to reflect the change.\n *\n * Cart metafields are copied to order metafields at order creation time if there's a matching order metafield definition with the [`cart to order copyable`](/docs/apps/build/metafields/use-metafield-capabilities#cart-to-order-copyable) capability enabled.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `metafields.canSetCartMetafields` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyMetafieldChange(change: MetafieldChange): Promise;\n\n /**\n * Sets or removes the buyer's note on the checkout. On success, the\n * [`note`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/note#properties-propertydetail-note)\n * property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `notes.canUpdateNote` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n */\n applyNoteChange(change: NoteChange): Promise;\n\n /**\n * @private\n */\n experimentalIsShopAppStyle?: boolean;\n\n /**\n * Updates the buyer's shipping address on the checkout. The provided fields\n * are merged into the existing address without prompting the buyer. On success,\n * the `shippingAddress` property updates to reflect the change.\n *\n * > Note: This method returns an error if the [cart instruction](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#properties-propertydetail-instructions) `delivery.canSelectCustomAddress` is false, or the buyer is using an accelerated checkout method, such as Apple Pay or Google Pay.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyShippingAddressChange?(\n change: ShippingAddressChange,\n ): Promise;\n}" } }, "OrderConfirmation": { @@ -2322,7 +2322,7 @@ "syntaxKind": "PropertySignature", "name": "number", "value": "string", - "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.", + "description": "A randomly generated alpha-numeric identifier for the order, distinct from `order.id`. The value is `undefined` for orders that were created before this field was introduced. All recent orders have a number.\n\nOptional. Might not be present for orders created before 2024.", "isOptional": true }, { @@ -2333,7 +2333,7 @@ "description": "" } ], - "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" + "value": "export interface OrderConfirmation {\n order: {\n /**\n * A globally unique identifier for the order. This becomes the\n * [`Order`](/docs/api/admin-graphql/latest/objects/Order) object ID in the\n * GraphQL Admin API after the order is created.\n *\n * @example 'gid://shopify/Order/123'\n */\n id: string;\n };\n /**\n * A randomly generated alpha-numeric identifier for the order, distinct\n * from `order.id`. The value is `undefined` for orders that were created\n * before this field was introduced. All recent orders have a number.\n *\n * Optional. Might not be present for orders created before 2024.\n */\n number?: string;\n\n /**\n * Whether this is the customer's first completed order with this shop. `true` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers.\n */\n isFirstOrder: boolean;\n}" } }, "OrderConfirmationApi": { @@ -2529,10 +2529,10 @@ "syntaxKind": "PropertySignature", "name": "isLocationFormVisible", "value": "SubscribableSignalLike", - "description": "Whether the location search form is currently visible to the buyer. Use this to conditionally render UI that depends on the buyer actively searching for pickup points." + "description": "Reflects which view was active when the extension loaded. When the buyer moves to the next view, the extension restarts with the current value rather than updating in place." } ], - "value": "export interface PickupPointListApi {\n /**\n * Whether the location search form is currently visible to the buyer.\n * Use this to conditionally render UI that depends on the buyer actively\n * searching for pickup points.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" + "value": "export interface PickupPointListApi {\n /**\n * Reflects which view was active when the extension loaded. When the\n * buyer moves to the next view, the extension restarts with the\n * current value rather than updating in place.\n */\n isLocationFormVisible: SubscribableSignalLike;\n}" } }, "PickupLocationItemApi": { @@ -2547,17 +2547,17 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location." + "description": "Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/pickup/pickup-location-item.ts", "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details." + "description": "The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n */\n isTargetSelected: SubscribableSignalLike;\n}" + "value": "export interface PickupLocationItemApi {\n /**\n * The pickup location that this extension is attached to. Use this to read the location's name, address, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target pickup location. When `true`, the target location is the buyer's active choice. When `false`, the buyer has chosen a different pickup location.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n}" } }, "PickupLocationOption": { @@ -2901,7 +2901,7 @@ "syntaxKind": "PropertySignature", "name": "isTargetSelected", "value": "SubscribableSignalLike", - "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option." + "description": "Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." }, { "filePath": "src/surfaces/checkout/api/shipping/shipping-option-item.ts", @@ -2915,10 +2915,10 @@ "syntaxKind": "PropertySignature", "name": "target", "value": "SubscribableSignalLike", - "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details." + "description": "The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n\nAvailable only on the corresponding item target. Shipping option item targets expose shipping option properties; pickup location item targets expose pickup location properties." } ], - "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" + "value": "export interface ShippingOptionItemApi {\n /**\n * The shipping option that this extension is attached to. Use this to read the option's cost, carrier, delivery estimate, and other details.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n target: SubscribableSignalLike;\n\n /**\n * Whether the buyer has selected the target shipping option. When `true`, the target option is the buyer's active choice. When `false`, the buyer has chosen a different shipping option.\n *\n * Available only on the corresponding item target. Shipping option item\n * targets expose shipping option properties; pickup location item targets\n * expose pickup location properties.\n */\n isTargetSelected: SubscribableSignalLike;\n\n /**\n * The render mode of this shipping option, indicating how the extension is displayed in the checkout UI.\n */\n renderMode: ShippingOptionItemRenderMode;\n}" } }, "ShippingOptionItemRenderMode": { @@ -4001,7 +4001,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Enables setting and updating customer privacy consent settings and tracking consent metafields.\n\n> Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n\n{% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4022,7 +4022,7 @@ "syntaxKind": "PropertySignature", "name": "availablePaymentOptions", "value": "SubscribableSignalLike", - "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region." + "description": "All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n\nThe set of payment options can change when the buyer updates their address or cart, so subscribe to changes rather than reading once during initialization. Each option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4059,7 +4059,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutToken", "value": "SubscribableSignalLike", - "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object)." + "description": "A stable ID that represents the current checkout.\n\nThe value is `undefined` when the checkout hasn't been created on the server yet.\n\nUse this to correlate checkout sessions across your extension, web pixels, and backend systems.\n\nThis matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data) and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n\nCan be `undefined`. Handle the `undefined` state before using the value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4080,7 +4080,7 @@ "syntaxKind": "PropertySignature", "name": "deliveryGroups", "value": "SubscribableSignalLike", - "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items." + "description": "The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n\nEmpty until the buyer enters enough address information for Shopify to calculate shipping rates." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4109,7 +4109,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This is one of the targets you've included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -4135,7 +4135,7 @@ "syntaxKind": "PropertySignature", "name": "instructions", "value": "SubscribableSignalLike", - "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available. See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information." + "description": "The cart instructions used to create the checkout and possibly limit extension capabilities.\n\nThese instructions should be checked before performing any actions that might be affected by them.\n\nFor example, if you intend to add a discount code via the `applyDiscountCodeChange` method, check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n\n> Caution: Check cart instructions before calling select APIs, as > some may not be available. See the > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) > for more information." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4149,7 +4149,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The buyer's language, country, currency, and timezone context. For formatting and translation helpers, use the [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4171,14 +4171,14 @@ "syntaxKind": "PropertySignature", "name": "query", "value": ">(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError[]; }>", - "description": "The method used to query the Storefront GraphQL API with a prefetched token.\n\nRefer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information." + "description": "The method used to query the Storefront GraphQL API with a prefetched token." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "selectedPaymentOptions", "value": "SubscribableSignalLike", - "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card)." + "description": "The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n\nEach option exposes `handle` and `type` only. Provider names, logos, fees, and installment terms aren't available." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4214,7 +4214,7 @@ "syntaxKind": "PropertySignature", "name": "storage", "value": "Storage", - "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated extension targets of this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." + "description": "Key-value storage that persists across page loads within the current checkout session. Data is shared across all activated targets associated with this extension.\n\n> Caution: Data persistence isn't guaranteed and storage is cleared when the buyer starts a new checkout." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4236,7 +4236,7 @@ ] } ], - "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: As of version `2024-07`, UI extension code must check for instructions before calling select APIs in case those APIs aren't available.\n * See the [update guide](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples) for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as credit cards, wallets, and local payment methods. The list depends on the shop's payment configuration and the buyer's region.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as the buyer changes their payment method. The array can contain multiple entries when the buyer splits payment across methods (for example, a gift card and a credit card).\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated extension targets of this\n * extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`customer_privacy` capability](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" + "value": "export interface StandardApi {\n /**\n * Tracks custom events and sends visitor information to\n * [Web Pixels](/docs/apps/marketing). Use `publish()` to emit events\n * and `visitor()` to submit buyer contact details.\n */\n analytics: Analytics;\n\n /**\n * The gift cards that have been applied to the checkout. Each entry includes\n * the last four characters of the gift card code, the amount used at\n * checkout, and the card's remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The cart instructions used to create the checkout and possibly limit extension capabilities.\n *\n * These instructions should be checked before performing any actions that might be affected by them.\n *\n * For example, if you intend to add a discount code via the `applyDiscountCodeChange` method,\n * check `discounts.canUpdateDiscountCodes` to ensure it's supported in this checkout.\n *\n * > Caution: Check cart instructions before calling select APIs, as\n * > some may not be available. See the\n * > [Cart Instructions API](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/cart-instructions#examples)\n * > for more information.\n *\n */\n instructions: SubscribableSignalLike;\n\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` isn't supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value attributes attached to the cart or checkout. These are set by the buyer or by an extension using `applyAttributeChange()`. The list is empty if no attributes have been added.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * All payment options available to the buyer for this checkout, such as\n * credit cards, wallets, and local payment methods. The list depends on\n * the shop's payment configuration and the buyer's region.\n *\n * The set of payment options can change when the buyer updates their\n * address or cart, so subscribe to changes rather than reading once\n * during initialization. Each option exposes `handle` and `type` only.\n * Provider names, logos, fees, and installment terms aren't available.\n */\n availablePaymentOptions: SubscribableSignalLike;\n\n /**\n * Information about the buyer that's interacting with the checkout. The property is available only if the extension has access to protected customer data.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n buyerIdentity?: BuyerIdentity;\n\n /**\n * Provides details on the buyer's progression through the checkout and lets you intercept navigation to validate data before the buyer continues.\n *\n * Refer to [buyer journey](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/buyer-journey#examples)\n * examples for more information.\n */\n buyerJourney: BuyerJourney;\n\n /**\n * Settings applied to the buyer's checkout.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * The value is `undefined` when the checkout hasn't been created on the server yet.\n *\n * Use this to correlate checkout sessions across your extension, web pixels, and backend systems.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n *\n * Can be `undefined`. Handle the `undefined` state before using the value.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The cost breakdown for the current checkout, including subtotal, shipping, tax, and total amounts. These values update as the buyer progresses through checkout and costs like shipping and tax are calculated.\n */\n cost: CartCost;\n\n /**\n * The delivery groups for this checkout. Each group contains one or more cart lines and the available delivery options (shipping, pickup point, or pickup location) for those items.\n *\n * Empty until the buyer enters enough address information for Shopify to\n * calculate shipping rates.\n */\n deliveryGroups: SubscribableSignalLike;\n\n /**\n * The discount codes currently applied to the checkout. The list is empty if no discount codes have been applied. Use `applyDiscountCodeChange()` to add or remove codes.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The discount allocations applied to the entire cart, including automatic discounts, code-based discounts, and custom discounts from [Shopify Functions](/docs/apps/build/functions). Each allocation indicates how much was discounted and how the discount was triggered.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the running extension, including the current target, API version,\n * capabilities, and editor context. Use this to conditionally render content\n * based on where the extension is running.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * Utilities for translating strings, formatting currencies, numbers, and dates\n * according to the buyer's locale. Use alongside\n * [`localization`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization)\n * to build fully localized extensions.\n */\n i18n: I18n;\n\n /**\n * The list of line items the buyer intends to purchase. Each entry includes the merchandise, quantity, cost, and any custom attributes. Use `applyCartLinesChange()` to add, remove, or update line items.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's language, country, currency, and timezone context. For\n * formatting and translation helpers, use the\n * [`i18n`](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n *\n * The value is `undefined` if the buyer hasn't entered a note. Use this to display or react to order-level instructions such as delivery preferences or gift messages.\n */\n note: SubscribableSignalLike;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The payment options the buyer has currently selected. This updates as\n * the buyer changes their payment method. The array can contain multiple\n * entries when the buyer splits payment across methods (for example, a\n * gift card and a credit card).\n *\n * Each option exposes `handle` and `type` only. Provider names, logos,\n * fees, and installment terms aren't available.\n */\n selectedPaymentOptions: SubscribableSignalLike;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of five minutes.\n *\n * If the previous token expires, this value reflects a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/{API_VERSION}/apis/settings#examples) for more information.\n *\n * > Note: When an extension is being installed in the editor, the settings are empty until\n * a merchant sets a value. In that case, this object updates in real time as a merchant fills in the settings.\n */\n settings: SubscribableSignalLike;\n\n /**\n * The proposed customer shipping address. During the information step, the address\n * updates when the field is committed (on change) rather than every keystroke.\n * The property is available only if the extension has access to protected customer\n * data. When available, the subscribable value is `undefined` if delivery isn't required.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke. The property is available only\n * if the extension has access to protected customer data. The subscribable value is\n * `undefined` if the billing address hasn't been provided yet.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The store where the checkout is taking place, including the shop name,\n * storefront URL, `.myshopify.com` subdomain, and a globally-unique ID.\n */\n shop: Shop;\n\n /**\n * Key-value storage that persists across page loads within the current checkout\n * session. Data is shared across all activated targets associated with\n * this extension.\n *\n * > Caution: Data persistence isn't guaranteed and storage is cleared when the\n * buyer starts a new checkout.\n */\n storage: Storage;\n\n /**\n * The renderer version being used for the extension.\n *\n * @example '2025-10'\n */\n version: Version;\n\n /**\n * Customer privacy consent settings and a flag denoting if consent has previously been collected.\n */\n customerPrivacy: SubscribableSignalLike;\n\n /**\n * Enables setting and updating customer privacy consent settings and tracking consent metafields.\n *\n * > Note: Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) to be set to `true`.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n applyTrackingConsentChange: ApplyTrackingConsentChangeType;\n\n /**\n * Additional region-specific fields required during checkout, such as tax identification numbers (Brazil's CPF/CNPJ) or customs credentials. The property is available only if the extension has access to protected customer data. The array is empty if the current checkout doesn't require any localized fields.\n */\n localizedFields?: SubscribableSignalLike;\n}" } }, "Analytics": { @@ -4250,7 +4250,7 @@ "syntaxKind": "MethodSignature", "name": "publish", "value": "(name: string, data: Record) => Promise", - "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched." + "description": "Publishes a custom event to [Web Pixels](/docs/apps/marketing). Returns `true` when the event is successfully dispatched.\n\nThe Promise resolves to `true` when the event was dispatched. The boolean indicates dispatch confirmation only. It doesn't indicate whether any specific web pixel processed the event." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -4260,7 +4260,7 @@ "description": "Submits buyer contact details for attribution and analytics purposes." } ], - "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" + "value": "export interface Analytics {\n /**\n * Publishes a custom event to [Web Pixels](/docs/apps/marketing).\n * Returns `true` when the event is successfully dispatched.\n *\n * The Promise resolves to `true` when the event was dispatched. The boolean\n * indicates dispatch confirmation only. It doesn't indicate whether any\n * specific web pixel processed the event.\n */\n publish(name: string, data: Record): Promise;\n\n /**\n * Submits buyer contact details for attribution and analytics purposes.\n */\n visitor(data: {email?: string; phone?: string}): Promise;\n}" } }, "VisitorResult": { @@ -4460,10 +4460,10 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string | null", - "description": "The new value to store in the metafield. Set to `null` to delete the metafield." + "description": "The new value to store in the metafield. Set to `null` to delete the metafield.\n\nConsent metafield values are strings, not booleans. Pass `null` to delete a tracking consent metafield." } ], - "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n */\n value: string | null;\n}" + "value": "export interface TrackingConsentMetafieldChange {\n /**\n * The identifier for the tracking consent metafield to update.\n */\n key: string;\n /**\n * The new value to store in the metafield. Set to `null` to delete the metafield.\n *\n * Consent metafield values are strings, not booleans. Pass `null` to delete\n * a tracking consent metafield.\n */\n value: string | null;\n}" } }, "VisitorConsent": { @@ -5134,11 +5134,11 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true } ], - "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestAllow {\n /**\n * Indicates that the interceptor allows the buyer's journey to continue.\n */\n behavior: 'allow';\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" } }, "InterceptorResult": { @@ -5210,7 +5210,7 @@ "syntaxKind": "MethodSignature", "name": "perform", "value": "(result: InterceptorResult) => void | Promise", - "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.", + "description": "This callback is called when all interceptors finish. We recommend setting errors or reasons for blocking at this stage, so that all the errors in the UI show up at once.\n\nRuns after all intercept results are collected. Use it for local state updates such as setting an error flag. By the time it runs, the navigation decision is final, so blocking logic belongs in the intercept handler itself, not here.", "isOptional": true }, { @@ -5221,7 +5221,7 @@ "description": "The reason for blocking the interceptor request. This value isn't presented to the buyer, so it doesn't need to be localized. The value is used only for Shopify's own internal debugging and metrics." } ], - "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" + "value": "interface InterceptorRequestBlock {\n /**\n * Indicates that the interceptor blocks the buyer's journey from continuing.\n */\n behavior: 'block';\n\n /**\n * The reason for blocking the interceptor request. This value isn't presented to\n * the buyer, so it doesn't need to be localized. The value is used only for Shopify's\n * own internal debugging and metrics.\n */\n reason: string;\n\n /**\n * Used to pass errors to the checkout UI, outside your extension's UI boundaries.\n */\n errors?: ValidationError[];\n\n /**\n * This callback is called when all interceptors finish. We recommend\n * setting errors or reasons for blocking at this stage, so that all the errors in\n * the UI show up at once.\n *\n * Runs after all intercept results are collected. Use it for local state\n * updates such as setting an error flag. By the time it runs, the navigation\n * decision is final, so blocking logic belongs in the intercept handler\n * itself, not here.\n * @param result InterceptorResult with behavior as either 'allow' or 'block'\n */\n perform?(result: InterceptorResult): void | Promise;\n}" } }, "BuyerJourneyStep": { @@ -5425,17 +5425,17 @@ "syntaxKind": "PropertySignature", "name": "totalShippingAmount", "value": "SubscribableSignalLike", - "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step." + "description": "The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n\n`undefined` until the buyer selects a shipping method (typically after the information step)." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "totalTaxAmount", "value": "SubscribableSignalLike", - "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet." + "description": "The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n\n`undefined` when taxes haven't been calculated or aren't available for the buyer's region." } ], - "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" + "value": "export interface CartCost {\n /**\n * The sum of all line item prices at the current step of checkout, before shipping and taxes are applied. Use this value to display the base cost of the items the buyer purchased.\n */\n subtotalAmount: SubscribableSignalLike;\n\n /**\n * The total shipping cost after shipping discounts have been applied. The value is `undefined` if shipping hasn't been calculated yet, such as when the buyer is still on the information step.\n *\n * `undefined` until the buyer selects a shipping method (typically after the\n * information step).\n */\n totalShippingAmount: SubscribableSignalLike;\n\n /**\n * The total tax the buyer can expect to pay, or the total tax already included in product and shipping prices (for tax-inclusive regions). The value is `undefined` if taxes haven't been calculated yet.\n *\n * `undefined` when taxes haven't been calculated or aren't available for the\n * buyer's region.\n */\n totalTaxAmount: SubscribableSignalLike;\n\n /**\n * The minimum total at the current step of checkout. Costs not yet calculated, such as shipping on the information step, aren't included. Gift cards and store credits are excluded from this total.\n */\n totalAmount: SubscribableSignalLike;\n}" } }, "CustomerPrivacy": { @@ -5528,31 +5528,31 @@ "syntaxKind": "PropertySignature", "name": "analytics", "value": "boolean", - "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred." + "description": "Whether analytics data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Analytics data includes how the shop was used and what interactions occurred.\n\nWhether analytics data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.analytics`, before calling `shopify.analytics.publish()`." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "marketing", "value": "boolean", - "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences." + "description": "Whether marketing data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Marketing data includes attribution and targeted advertising preferences.\n\nWhether marketing data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.marketing`, before performing marketing-related data collection." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "preferences", "value": "boolean", - "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices." + "description": "Whether preference data can be collected based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. Preference data includes language, currency, and sizing choices.\n\nWhether preference data can be collected right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.preferences`, before storing or reading buyer preference data." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "syntaxKind": "PropertySignature", "name": "saleOfData", "value": "boolean", - "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data." + "description": "Whether data can be shared with third parties based on the visitor's consent, the merchant's privacy configuration, and the visitor's region. This typically applies to behavioral advertising data.\n\nWhether buyer data can be shared with or sold to third parties right now. Combines the buyer's consent, the merchant's privacy configuration, and the buyer's region into a single boolean. Check this flag, not `visitorConsent.saleOfData`, before sharing or selling buyer data with third parties." } ], - "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n */\n saleOfData: boolean;\n}" + "value": "export interface AllowedProcessing {\n /**\n * Whether analytics data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Analytics\n * data includes how the shop was used and what interactions occurred.\n *\n * Whether analytics data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.analytics`, before\n * calling `shopify.analytics.publish()`.\n */\n analytics: boolean;\n /**\n * Whether marketing data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Marketing\n * data includes attribution and targeted advertising preferences.\n *\n * Whether marketing data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.marketing`, before\n * performing marketing-related data collection.\n */\n marketing: boolean;\n /**\n * Whether preference data can be collected based on the visitor's consent,\n * the merchant's privacy configuration, and the visitor's region. Preference\n * data includes language, currency, and sizing choices.\n *\n * Whether preference data can be collected right now. Combines the buyer's\n * consent, the merchant's privacy configuration, and the buyer's region into\n * a single boolean. Check this flag, not `visitorConsent.preferences`,\n * before storing or reading buyer preference data.\n */\n preferences: boolean;\n /**\n * Whether data can be shared with third parties based on the visitor's\n * consent, the merchant's privacy configuration, and the visitor's region.\n * This typically applies to behavioral advertising data.\n *\n * Whether buyer data can be shared with or sold to third parties right now.\n * Combines the buyer's consent, the merchant's privacy configuration, and\n * the buyer's region into a single boolean. Check this flag, not\n * `visitorConsent.saleOfData`, before sharing or selling buyer data with\n * third parties.\n */\n saleOfData: boolean;\n}" } }, "TrackingConsentMetafield": { @@ -5679,7 +5679,7 @@ "syntaxKind": "PropertySignature", "name": "capabilities", "value": "SubscribableSignalLike", - "description": "The allowed capabilities of the extension, defined in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n\n* [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n\n* [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n\n* [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n\n* [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n\n* [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n\n* [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe." + "description": "The allowed capabilities of the extension, defined in your [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -5727,7 +5727,7 @@ "syntaxKind": "PropertySignature", "name": "version", "value": "string", - "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.", + "description": "The published version of the running extension target.\n\nFor unpublished extensions, the value is `undefined`.\n\nDon't use this property as a stable identifier in development environments. It becomes available only after the extension is published.", "isOptional": true, "examples": [ { @@ -5743,7 +5743,7 @@ ] } ], - "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined\n * in your [shopify.extension.toml](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n *\n * * [`api_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#api-access): the extension can access the Storefront API.\n *\n * * [`network_access`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#network-access): the extension can make external network calls.\n *\n * * [`block_progress`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#block-progress): the extension can block a customer's progress and the merchant has allowed this blocking behavior.\n *\n * * [`collect_buyer_consent.sms_marketing`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can collect customer consent for SMS marketing.\n *\n * * [`collect_buyer_consent.customer_privacy`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent): the extension can register customer consent decisions that are honored on Shopify-managed services.\n *\n * * [`iframe.sources`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration#iframe): the extension can embed an external URL in an iframe.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * @example 3.0.10\n */\n version?: string;\n}" + "value": "export interface Extension {\n /**\n * The API version that was set in the extension config file.\n *\n * @example '2024-10', '2025-01', '2025-04', '2025-07', '2025-10'\n */\n apiVersion: ApiVersion;\n\n /**\n * The allowed capabilities of the extension, defined in your\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/{API_VERSION}/configuration) file.\n */\n capabilities: SubscribableSignalLike;\n\n /**\n * Information about the editor where the extension is being rendered.\n *\n * If the value is undefined, then the extension isn't running in an editor.\n */\n editor?: Editor;\n\n /**\n * A Boolean to show whether your extension is currently rendered to the screen.\n *\n * Shopify might render your extension before it's visible in the UI,\n * typically to pre-render extensions that appear on a later step of the\n * checkout.\n *\n * Your extension might also continue to run after the customer has navigated away\n * from where it was rendered. The extension continues running so that\n * your extension is immediately available to render if the customer navigates back.\n */\n rendered: SubscribableSignalLike;\n\n /**\n * The URL to the script that started the extension target.\n */\n scriptUrl: string;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being\n * injected. This is one of the targets you've included in your\n * extension's configuration file.\n *\n * @example 'purchase.checkout.block.render'\n * @see /docs/api/checkout-ui-extensions/{API_VERSION}/extension-targets-overview\n * @see /docs/apps/app-extensions/configuration#targets\n */\n target: Target;\n\n /**\n * The published version of the running extension target.\n *\n * For unpublished extensions, the value is `undefined`.\n *\n * Don't use this property as a stable identifier in development environments.\n * It becomes available only after the extension is published.\n *\n * @example 3.0.10\n */\n version?: string;\n}" } }, "ApiVersion": { @@ -5751,7 +5751,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "ApiVersion", - "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04'", + "value": "'2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The `unstable` version provides access to the latest features but may change without notice." } }, @@ -6021,7 +6021,7 @@ "syntaxKind": "PropertySignature", "name": "country", "value": "SubscribableSignalLike", - "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown." + "description": "The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n\nDerived from the buyer's shipping address. Returns `undefined` until the buyer enters a shipping address." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -6049,8 +6049,8 @@ "syntaxKind": "PropertySignature", "name": "market", "value": "SubscribableSignalLike", - "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n\n> Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.", - "deprecationMessage": "Deprecated as of version `2025-04`" + "description": "The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. The market context updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.", + "deprecationMessage": "Merchants now manage which extensions load for each\nmarket, so extensions no longer need to check this value." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -6060,7 +6060,7 @@ "description": "The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time." } ], - "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout, carried over from the cart context. Markets group countries and regions with shared pricing, languages, and domains. It updates when the buyer changes the country of their shipping address. The value is `undefined` if the market is unknown.\n *\n * > Caution: Deprecated as of version `2025-04`. Merchants now manage which extensions load for each market, so extensions no longer need to check this value.\n *\n * @deprecated Deprecated as of version `2025-04`\n */\n market: SubscribableSignalLike;\n}" + "value": "export interface Localization {\n /**\n * The currency that the buyer sees for money amounts in the checkout. Use this value to format prices and totals in the buyer's expected currency.\n */\n currency: SubscribableSignalLike;\n\n /**\n * The buyer's time zone, based on their browser or account settings. Use this value to format dates and times relative to the buyer's local time.\n */\n timezone: SubscribableSignalLike;\n\n /**\n * The language the buyer sees in the checkout. This reflects the language selected by the buyer or determined by their browser settings, and might differ from the languages your extension supports.\n */\n language: SubscribableSignalLike;\n\n /**\n * The best available language match for your extension based on the buyer's language. If the buyer's language is `'fr-CA'` but your extension supports only `'fr'`, this returns `'fr'`. If your extension doesn't support any variant of the buyer's language, this falls back to your extension's default locale (the `.default.json` translation file). Use this value to load the correct translation file for your extension.\n */\n extensionLanguage: SubscribableSignalLike;\n\n /**\n * The country context of the checkout, carried over from the cart. It updates when the buyer changes their shipping address country. Use this value to display region-specific content such as local support information or regional policies. The value is `undefined` if the buyer's country is unknown.\n *\n * Derived from the buyer's shipping address. Returns `undefined` until the\n * buyer enters a shipping address.\n */\n country: SubscribableSignalLike;\n\n /**\n * The [market](/docs/apps/build/markets) context of the checkout,\n * carried over from the cart context. Markets group countries and\n * regions with shared pricing, languages, and domains. The market\n * context updates when the buyer changes the country of their\n * shipping address. The value is `undefined` if the market is unknown.\n *\n * @deprecated Merchants now manage which extensions load for each\n * market, so extensions no longer need to check this value.\n */\n market: SubscribableSignalLike;\n}" } }, "Country": { @@ -6230,7 +6230,7 @@ "filePath": "src/shared.ts", "syntaxKind": "TypeAliasDeclaration", "name": "StorefrontApiVersion", - "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10'", + "value": "'2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' | '2025-07' | '2025-10' | '2026-01' | '2026-04' | '2026-07'", "description": "The supported Storefront API versions. Pass one of these values to `query()` to target a specific API version when querying the Storefront GraphQL API." } }, @@ -6288,7 +6288,7 @@ "src/surfaces/checkout/api/standard/standard.ts": { "filePath": "src/surfaces/checkout/api/standard/standard.ts", "name": "SessionToken", - "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.", + "description": "Authenticates requests between your extension and your app backend. Use session tokens to verify the identity of the buyer and the shop context when making server-side API calls. The token is a signed JWT that contains claims such as the customer ID, shop domain, and expiration.\n\nThe `sub` claim in the decoded token is present only when the buyer is logged in and the app has permission to read customer accounts. Absent for anonymous buyers.", "members": [ { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -6381,7 +6381,7 @@ "syntaxKind": "MethodSignature", "name": "read", "value": "(key: string) => Promise", - "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns `null` if no stored data exists." + "description": "Read and return a stored value by key.\n\nThe stored data is deserialized from JSON and returned as its original type.\n\nReturns the stored value for the given key, or `null` when no value exists. Doesn't throw on a missing key." }, { "filePath": "src/surfaces/checkout/api/standard/standard.ts", @@ -6391,7 +6391,7 @@ "description": "Write stored data for this key.\n\nThe data must be serializable to JSON." } ], - "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns `null` if no stored data exists.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" + "value": "export interface Storage {\n /**\n * Read and return a stored value by key.\n *\n * The stored data is deserialized from JSON and returned as\n * its original type.\n *\n * Returns the stored value for the given key, or `null` when no value\n * exists. Doesn't throw on a missing key.\n */\n read(key: string): Promise;\n\n /**\n * Write stored data for this key.\n *\n * The data must be serializable to JSON.\n */\n write(key: string, data: any): Promise;\n\n /**\n * Deletes a previously stored value by key.\n */\n delete(key: string): Promise;\n}" } }, "Version": { @@ -6551,7 +6551,7 @@ "syntaxKind": "PropertySignature", "name": "localization", "value": "Localization", - "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n) object instead." + "description": "The details about the location, language, and currency of the customer. For utilities to easily format and translate content based on these details, you can use the [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n) object instead." }, { "filePath": "src/surfaces/checkout/api/address-autocomplete/standard.ts", @@ -6616,7 +6616,7 @@ ] } ], - "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#standardapi-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" + "value": "export interface AddressAutocompleteStandardApi<\n Target extends\n | 'purchase.address-autocomplete.suggest'\n | 'purchase.address-autocomplete.format-suggestion',\n> {\n /**\n * The metafields requested in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration)\n * file. These metafields are updated when there's a change in the merchandise items\n * being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/custom-data/ownership#reserved-prefixes) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n *\n * > Tip:\n * > Cart metafields are only available on carts created via the Storefront API version `2023-04` or later.*\n */\n appMetafields: AppMetafieldEntry[];\n\n /**\n * The methods for interacting with [Web Pixels](/docs/apps/marketing), such as emitting an event.\n */\n analytics: Analytics;\n\n /**\n * The custom attributes left by the customer to the merchant, either in their cart or during checkout.\n */\n attributes: Attribute[] | undefined;\n\n /**\n * The proposed customer billing address. The address updates when the field is\n * committed (on change) rather than every keystroke.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n billingAddress?: MailingAddress | undefined;\n\n /**\n * A stable ID that represents the current checkout.\n *\n * This matches the `data.checkout.token` field in a [checkout-related WebPixel event](/docs/api/web-pixels-api/standard-events/checkout_started#properties-propertydetail-data)\n * and the `checkout_token` field in the [REST Admin API `Order` resource](/docs/api/admin-rest/unstable/resources/order#resource-object).\n */\n checkoutToken: CheckoutToken | undefined;\n\n /**\n * The meta information about the extension.\n */\n extension: Extension;\n\n /**\n * Utilities for translating content and formatting values according to the current\n * [`localization`](/docs/api/checkout-ui-extensions/apis/localization)\n * Type 'RunnableExtensionInstance' is not assignable to type 'ExtensionInstance'.\n *\n * Refer to [`localization` examples](/docs/api/checkout-ui-extensions/apis/localization#examples)\n * for more information.\n */\n i18n: I18n;\n\n /**\n * The details about the location, language, and currency of the customer. For utilities to easily\n * format and translate content based on these details, you can use the\n * [`i18n`](/docs/api/checkout-ui-extensions/apis/localization#properties-propertydetail-i18n)\n * object instead.\n */\n localization: Localization;\n\n /**\n * The method used to query the Storefront GraphQL API with a prefetched token.\n *\n * Refer to [Storefront API access examples](/docs/api/checkout-ui-extensions/apis/storefront-api) for more information.\n */\n query: >(\n query: string,\n options?: {variables?: Variables; version?: StorefrontApiVersion},\n ) => Promise<{data?: Data; errors?: GraphQLError[]}>;\n\n /**\n * The session token providing a set of claims as a signed JSON Web Token (JWT).\n *\n * The token has a TTL of 5 minutes.\n *\n * If the previous token expires, this value will reflect a new session token with a new signature and expiry.\n *\n * Learn more about [session tokens](/docs/apps/build/authentication-authorization/session-tokens).\n */\n sessionToken: SessionToken;\n\n /**\n * The settings matching the settings definition written in the\n * [`shopify.extension.toml`](/docs/api/checkout-ui-extensions/configuration) file.\n *\n * Refer to [settings examples](/docs/api/checkout-ui-extensions/apis/settings#examples) for more information.\n *\n * > Note: The settings are empty when an extension is being installed in the [checkout editor](https://help.shopify.com/en/manual/checkout-settings/checkout-extensibility/checkout-editor).\n\n */\n settings: ExtensionSettings;\n\n /**\n * The proposed customer shipping address. During the information step,\n * the address updates when the field is committed (on change) rather than every keystroke.\n *\n * > Note: An address value is only present if delivery is required. Otherwise, the subscribable value is undefined.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data).\n */\n shippingAddress?: MailingAddress | undefined;\n\n /** The shop where the checkout is taking place. */\n shop: Shop;\n\n /**\n * The key-value storage for the extension.\n *\n * It uses `localStorage` and should persist across the customer's current checkout session.\n *\n * > Caution: Data persistence isn't guaranteed and storage is reset when the customer starts a new checkout.\n *\n * Data is shared across all activated extension targets of this extension. In versions 2023-07 and earlier,\n * each activated extension target had its own storage.\n */\n storage: Storage;\n\n /**\n * The runner version being used for the extension.\n *\n * @example 'unstable'\n */\n version: Version;\n}" } }, "AddressAutocompleteFormatSuggestionApi": { @@ -7003,10 +7003,10 @@ "syntaxKind": "PropertySignature", "name": "suggestions", "value": "AddressAutocompleteSuggestion[]", - "description": "An array of address autocomplete suggestions to show to the buyer.\n\n> Note: Only the first five suggestions will be displayed to the buyer." + "description": "An array of address autocomplete suggestions to show to the buyer. Checkout displays up to five address suggestions. Return no more than five. Additional suggestions are ignored." } ], - "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n *\n * > Note: Only the first five suggestions will be displayed to the buyer.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" + "value": "export interface AddressAutocompleteSuggestOutput {\n /**\n * An array of address autocomplete suggestions to show to the buyer.\n * Checkout displays up to five address suggestions. Return no more\n * than five. Additional suggestions are ignored.\n */\n suggestions: AddressAutocompleteSuggestion[];\n}" } }, "ExtensionTargets": { @@ -8832,7 +8832,7 @@ "src/surfaces/customer-account/api/order-status/order-status.ts": { "filePath": "src/surfaces/customer-account/api/order-status/order-status.ts", "name": "OrderStatusLocalization", - "description": "", + "description": "Provides raw localization data only. The `i18n` translation and formatting helpers from the Localization API aren't available on order status targets.", "isPublicDocs": true, "members": [ { @@ -8924,14 +8924,14 @@ "syntaxKind": "PropertySignature", "name": "authenticationState", "value": "SubscribableSignalLike", - "description": "The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in." + "description": "The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in.\n\nRead-only. The authentication level can't be changed programmatically." }, { "filePath": "src/surfaces/customer-account/api/order-status/order-status.ts", "syntaxKind": "PropertySignature", "name": "billingAddress", "value": "SubscribableSignalLike", - "description": "The billing address associated with the buyer's payment method for the order. The value is `undefined` if the order doesn't have a billing address on file.", + "description": "The billing address associated with the buyer's payment method for the order. The value is `undefined` if the order doesn't have a billing address on file.\n\nReflects the state at the time the order was placed. Doesn't update if the customer changes their account address afterward.", "isOptional": true }, { @@ -8939,7 +8939,7 @@ "syntaxKind": "PropertySignature", "name": "buyerIdentity", "value": "OrderStatusBuyerIdentity", - "description": "The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.", + "description": "The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.\n\nReflects the customer account at the time the order was placed. Doesn't update if account details change afterward.", "isOptional": true }, { @@ -8947,7 +8947,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutSettings", "value": "SubscribableSignalLike", - "description": "The checkout settings that were active when the buyer placed the order, such as whether order notes and login are enabled." + "description": "The checkout settings that were active when the buyer placed the order, such as whether order notes and login are enabled.\n\nReturns the merchant's checkout configuration at the time of checkout. Doesn't reflect updates made after the order was placed." }, { "filePath": "src/surfaces/customer-account/api/order-status/order-status.ts", @@ -8968,7 +8968,7 @@ "syntaxKind": "PropertySignature", "name": "discountAllocations", "value": "SubscribableSignalLike", - "description": "The cart-level discount allocations applied to the order. A discount allocation represents how a discount is distributed across the order. Each allocation includes the discounted amount and one of the following types:\n\n- `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n- `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n- `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions)." + "description": "The cart-level discount allocations applied to the order. A discount allocation represents how a discount is distributed across the order. Each allocation includes the discounted amount and one of the following types:\n\n- `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n- `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n- `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions).\n\nReturns order-level discounts only. For per-line discount allocations, read from individual cart lines via the Cart Lines API." }, { "filePath": "src/surfaces/customer-account/api/order-status/order-status.ts", @@ -8990,7 +8990,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify's UI your code is being injected. This will be one of the targets you have included in your extension's configuration file.", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -9037,14 +9037,14 @@ "syntaxKind": "PropertySignature", "name": "requireLogin", "value": "() => Promise", - "description": "Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page. Use this to require full authentication before displaying sensitive information in your extension." + "description": "Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page. Use this to require full authentication before displaying sensitive information in your extension.\n\nTriggers a login prompt for pre-authenticated buyers. Doesn't guarantee the buyer completes the login. Handle the dismissal case in your code." }, { "filePath": "src/surfaces/customer-account/api/order-status/order-status.ts", "syntaxKind": "PropertySignature", "name": "shippingAddress", "value": "SubscribableSignalLike", - "description": "The shipping address that the buyer provided for the order. This is where physical goods are delivered. The value is `undefined` if the order contains only digital products or if a shipping address wasn't required.", + "description": "The shipping address that the buyer provided for the order. This is where physical goods are delivered. The value is `undefined` if the order contains only digital products or if a shipping address wasn't required.\n\nReflects the state at the time the order was placed. Doesn't update if the customer changes their account address afterward.", "isOptional": true }, { @@ -9074,7 +9074,7 @@ ] } ], - "value": "export interface OrderStatusApi {\n /**\n * The gift cards that were applied to the order. Each gift card includes the last four\n * characters of the code, the amount used for this order, and the remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The [metafields](/docs/apps/build/custom-data/metafields) requested in the\n * [`shopify.extension.toml`](/docs/apps/build/customer-accounts/metafields#create-the-metafield-definition)\n * file. Metafields are custom data fields that store additional information on Shopify resources\n * such as products, variants, customers, and the shop. These metafields are updated when there's\n * a change in the merchandise items being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/metafields#app-owned-metafields) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data) when accessing metafields attached to `customer`, `company`, or `companyLocation` resources.\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value pairs attached to the order by the customer or by other extensions\n * during cart or checkout. These are commonly used for delivery instructions, gift messages,\n * or other information the buyer provides. The value is `undefined` if no attributes were set.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.\n */\n buyerIdentity?: OrderStatusBuyerIdentity;\n\n /**\n * The checkout settings that were active when the buyer placed the order, such as\n * whether order notes and login are enabled.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A breakdown of the costs for the order, including the subtotal, shipping, tax, and total amounts.\n */\n cost: CartCost;\n\n /**\n * A list of discount codes that the buyer entered during checkout and that were applied to the order.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The cart-level discount allocations applied to the order. A discount allocation represents\n * how a discount is distributed across the order. Each allocation includes the discounted\n * amount and one of the following types:\n *\n * - `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n * - `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n * - `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions).\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the current extension, including its target, API version, and capabilities.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being injected. This will be one of the targets you have included in your extension's configuration file.\n *\n * @example 'customer-account.order-status.block.render'\n * Learn more about [targets](/docs/api/customer-account-ui-extensions/{API_VERSION}/targets) and [target configuration](/docs/api/customer-account-ui-extensions/{API_VERSION}#configuration).\n *\n * @deprecated Deprecated as of version `2023-07`, use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * A list of line items in the order. Each line includes the merchandise, quantity, cost,\n * custom attributes, and discount allocations.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's locale, currency, time zone, country, and market context for the order.\n * Use these values to adapt your extension's content to the buyer's region. For formatted\n * dates, numbers, and translated strings, use the [Localization API](/docs/api/customer-account-ui-extensions/{API_VERSION}/target-apis/platform-apis/localization-api)\n * instead.\n */\n localization: OrderStatusLocalization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n * The value is `undefined` if no note was provided.\n */\n note: SubscribableSignalLike;\n\n /**\n * The order that was placed after checkout completion. Includes the order ID,\n * display name, confirmation number, and timestamps for processing and cancellation.\n * The value is `undefined` if the order hasn't been fully processed yet.\n */\n order: SubscribableSignalLike;\n\n /**\n * The token that identifies the checkout session used to create the order. Use this value\n * to correlate the order with analytics events or backend API calls. This matches the\n * `token` field in the [WebPixel checkout payload](/docs/api/pixels/customer-events#checkout).\n * The value is `undefined` if the checkout token is unavailable.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The shipping address that the buyer provided for the order. This is where physical goods\n * are delivered. The value is `undefined` if the order contains only digital products or\n * if a shipping address wasn't required.\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The billing address associated with the buyer's payment method for the order. The value\n * is `undefined` if the order doesn't have a billing address on file.\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The shop where the order was placed. Includes the shop ID, name, primary\n * storefront URL, and myshopify.com domain.\n */\n shop: Shop;\n\n /**\n * The API version that the extension is using, such as `'2026-01'` or `'unstable'`. This corresponds to the version declared in your extension's configuration.\n *\n * @example 'unstable'\n */\n version: Version;\n\n /**\n * Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page.\n * Use this to require full authentication before displaying sensitive information in your extension.\n */\n requireLogin: () => Promise;\n\n /**\n * The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in.\n */\n authenticationState: SubscribableSignalLike;\n}" + "value": "export interface OrderStatusApi {\n /**\n * The gift cards that were applied to the order. Each gift card includes the last four\n * characters of the code, the amount used for this order, and the remaining balance.\n */\n appliedGiftCards: SubscribableSignalLike;\n\n /**\n * The [metafields](/docs/apps/build/custom-data/metafields) requested in the\n * [`shopify.extension.toml`](/docs/apps/build/customer-accounts/metafields#create-the-metafield-definition)\n * file. Metafields are custom data fields that store additional information on Shopify resources\n * such as products, variants, customers, and the shop. These metafields are updated when there's\n * a change in the merchandise items being purchased by the customer.\n *\n * App owned metafields are supported and are returned using the `$app` format. The fully qualified reserved namespace format such as `app--{your-app-id}[--{optional-namespace}]` is not supported. See [app owned metafields](/docs/apps/build/metafields#app-owned-metafields) for more information.\n *\n * {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data) when accessing metafields attached to `customer`, `company`, or `companyLocation` resources.\n */\n appMetafields: SubscribableSignalLike;\n\n /**\n * The custom key-value pairs attached to the order by the customer or by other extensions\n * during cart or checkout. These are commonly used for delivery instructions, gift messages,\n * or other information the buyer provides. The value is `undefined` if no attributes were set.\n */\n attributes: SubscribableSignalLike;\n\n /**\n * The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.\n *\n * Reflects the customer account at the time the order was placed. Doesn't\n * update if account details change afterward.\n */\n buyerIdentity?: OrderStatusBuyerIdentity;\n\n /**\n * The checkout settings that were active when the buyer placed the order, such as\n * whether order notes and login are enabled.\n *\n * Returns the merchant's checkout configuration at the time of checkout.\n * Doesn't reflect updates made after the order was placed.\n */\n checkoutSettings: SubscribableSignalLike;\n\n /**\n * A breakdown of the costs for the order, including the subtotal, shipping, tax, and total amounts.\n */\n cost: CartCost;\n\n /**\n * A list of discount codes that the buyer entered during checkout and that were applied to the order.\n */\n discountCodes: SubscribableSignalLike;\n\n /**\n * The cart-level discount allocations applied to the order. A discount allocation represents\n * how a discount is distributed across the order. Each allocation includes the discounted\n * amount and one of the following types:\n *\n * - `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n * - `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n * - `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions).\n *\n * Returns order-level discounts only. For per-line discount allocations,\n * read from individual cart lines via the Cart Lines API.\n */\n discountAllocations: SubscribableSignalLike;\n\n /**\n * Metadata about the current extension, including its target, API version, and capabilities.\n */\n extension: Extension;\n\n /**\n * The identifier that specifies where in Shopify's UI your code is being injected. This will be one of the targets you have included in your extension's configuration file.\n *\n * @example 'customer-account.order-status.block.render'\n * Learn more about [targets](/docs/api/customer-account-ui-extensions/{API_VERSION}/targets) and [target configuration](/docs/api/customer-account-ui-extensions/{API_VERSION}#configuration).\n *\n * @deprecated Use `extension.target` instead.\n */\n extensionPoint: Target;\n\n /**\n * A list of line items in the order. Each line includes the merchandise, quantity, cost,\n * custom attributes, and discount allocations.\n */\n lines: SubscribableSignalLike;\n\n /**\n * The buyer's locale, currency, time zone, country, and market context for the order.\n * Use these values to adapt your extension's content to the buyer's region. For formatted\n * dates, numbers, and translated strings, use the [Localization API](/docs/api/customer-account-ui-extensions/{API_VERSION}/target-apis/platform-apis/localization-api)\n * instead.\n */\n localization: OrderStatusLocalization;\n\n /**\n * A note left by the customer to the merchant, either in their cart or during checkout.\n * The value is `undefined` if no note was provided.\n */\n note: SubscribableSignalLike;\n\n /**\n * The order that was placed after checkout completion. Includes the order ID,\n * display name, confirmation number, and timestamps for processing and cancellation.\n * The value is `undefined` if the order hasn't been fully processed yet.\n */\n order: SubscribableSignalLike;\n\n /**\n * The token that identifies the checkout session used to create the order. Use this value\n * to correlate the order with analytics events or backend API calls. This matches the\n * `token` field in the [WebPixel checkout payload](/docs/api/pixels/customer-events#checkout).\n * The value is `undefined` if the checkout token is unavailable.\n */\n checkoutToken: SubscribableSignalLike;\n\n /**\n * The shipping address that the buyer provided for the order. This is where physical goods\n * are delivered. The value is `undefined` if the order contains only digital products or\n * if a shipping address wasn't required.\n *\n * Reflects the state at the time the order was placed. Doesn't update if the\n * customer changes their account address afterward.\n */\n shippingAddress?: SubscribableSignalLike;\n\n /**\n * The billing address associated with the buyer's payment method for the order. The value\n * is `undefined` if the order doesn't have a billing address on file.\n *\n * Reflects the state at the time the order was placed. Doesn't update if the\n * customer changes their account address afterward.\n */\n billingAddress?: SubscribableSignalLike;\n\n /**\n * The shop where the order was placed. Includes the shop ID, name, primary\n * storefront URL, and myshopify.com domain.\n */\n shop: Shop;\n\n /**\n * The API version that the extension is using, such as `'2026-01'` or `'unstable'`. This corresponds to the version declared in your extension's configuration.\n *\n * @example 'unstable'\n */\n version: Version;\n\n /**\n * Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page.\n * Use this to require full authentication before displaying sensitive information in your extension.\n *\n * Triggers a login prompt for pre-authenticated buyers. Doesn't guarantee\n * the buyer completes the login. Handle the dismissal case in your code.\n */\n requireLogin: () => Promise;\n\n /**\n * The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in.\n *\n * Read-only. The authentication level can't be changed programmatically.\n */\n authenticationState: SubscribableSignalLike;\n}" } }, "OrderStatusBuyerIdentity": { @@ -14057,6 +14057,15 @@ "description": "A unique identifier for the element. Use this to target the element with CSS, JavaScript, or accessibility attributes. The `id` must be unique within the document.", "isOptional": true }, + { + "filePath": "src/surfaces/customer-account/components.ts", + "syntaxKind": "PropertySignature", + "name": "inlineSize", + "value": "'large' | 'base'", + "description": "The inline size of the page\n- `base` corresponds to a set default inline size\n- `large` full width with whitespace", + "isOptional": true, + "defaultValue": "'base'" + }, { "filePath": "src/surfaces/customer-account/components.ts", "syntaxKind": "PropertySignature", @@ -15010,6 +15019,15 @@ "value": "boolean", "description": "The HTMLElement property **`inert`** reflects the value of the element's `inert` attribute.\n\n[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert)" }, + { + "filePath": "src/surfaces/customer-account/components.ts", + "syntaxKind": "PropertySignature", + "name": "inlineSize", + "value": "'large' | 'base'", + "description": "The inline size of the page\n- `base` corresponds to a set default inline size\n- `large` full width with whitespace", + "isOptional": true, + "defaultValue": "'base'" + }, { "filePath": "src/surfaces/customer-account/components.ts", "syntaxKind": "PropertySignature", @@ -25931,7 +25949,7 @@ "syntaxKind": "PropertySignature", "name": "buyerIdentity", "value": "OrderStatusBuyerIdentity", - "description": "The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.", + "description": "The buyer who placed the order, including their customer account, email, phone number, and B2B purchasing company. Use this to personalize the **Order status** page or identify B2B orders.\n\nReflects the customer account at the time the order was placed. Doesn't update if account details change afterward.", "isOptional": true } ], @@ -25950,7 +25968,7 @@ "syntaxKind": "PropertySignature", "name": "checkoutSettings", "value": "SubscribableSignalLike", - "description": "The checkout settings that were active when the buyer placed the order, such as whether order notes and login are enabled." + "description": "The checkout settings that were active when the buyer placed the order, such as whether order notes and login are enabled.\n\nReturns the merchant's checkout configuration at the time of checkout. Doesn't reflect updates made after the order was placed." } ], "value": "export interface Docs_OrderStatus_CheckoutSettingsApi\n extends Pick, 'checkoutSettings'> {}" @@ -26004,7 +26022,7 @@ "syntaxKind": "PropertySignature", "name": "discountAllocations", "value": "SubscribableSignalLike", - "description": "The cart-level discount allocations applied to the order. A discount allocation represents how a discount is distributed across the order. Each allocation includes the discounted amount and one of the following types:\n\n- `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n- `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n- `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions)." + "description": "The cart-level discount allocations applied to the order. A discount allocation represents how a discount is distributed across the order. Each allocation includes the discounted amount and one of the following types:\n\n- `CartCodeDiscountAllocation`: A discount the buyer applied by entering a code at checkout.\n- `CartAutomaticDiscountAllocation`: A discount the merchant configured in Shopify admin to apply automatically.\n- `CartCustomDiscountAllocation`: A discount created programmatically by a [Shopify Function](/docs/apps/build/functions).\n\nReturns order-level discounts only. For per-line discount allocations, read from individual cart lines via the Cart Lines API." }, { "filePath": "src/surfaces/customer-account/api/docs.ts", @@ -26065,7 +26083,7 @@ "syntaxKind": "PropertySignature", "name": "billingAddress", "value": "SubscribableSignalLike", - "description": "The billing address associated with the buyer's payment method for the order. The value is `undefined` if the order doesn't have a billing address on file.", + "description": "The billing address associated with the buyer's payment method for the order. The value is `undefined` if the order doesn't have a billing address on file.\n\nReflects the state at the time the order was placed. Doesn't update if the customer changes their account address afterward.", "isOptional": true }, { @@ -26073,7 +26091,7 @@ "syntaxKind": "PropertySignature", "name": "shippingAddress", "value": "SubscribableSignalLike", - "description": "The shipping address that the buyer provided for the order. This is where physical goods are delivered. The value is `undefined` if the order contains only digital products or if a shipping address wasn't required.", + "description": "The shipping address that the buyer provided for the order. This is where physical goods are delivered. The value is `undefined` if the order contains only digital products or if a shipping address wasn't required.\n\nReflects the state at the time the order was placed. Doesn't update if the customer changes their account address afterward.", "isOptional": true } ], @@ -26110,7 +26128,7 @@ "syntaxKind": "PropertySignature", "name": "requireLogin", "value": "() => Promise", - "description": "Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page. Use this to require full authentication before displaying sensitive information in your extension." + "description": "Triggers a login prompt if the customer is viewing a pre-authenticated **Order status** page. Use this to require full authentication before displaying sensitive information in your extension.\n\nTriggers a login prompt for pre-authenticated buyers. Doesn't guarantee the buyer completes the login. Handle the dismissal case in your code." } ], "value": "export interface Docs_OrderStatus_RequireLoginApi\n extends Pick, 'requireLogin'> {}" @@ -26128,7 +26146,7 @@ "syntaxKind": "PropertySignature", "name": "authenticationState", "value": "SubscribableSignalLike", - "description": "The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in." + "description": "The buyer's current authentication level on the **Order status** page. Use this to determine whether to display sensitive information or prompt the buyer to log in.\n\nRead-only. The authentication level can't be changed programmatically." } ], "value": "export interface Docs_OrderStatus_AuthenticationStateApi\n extends Pick, 'authenticationState'> {}" @@ -26363,7 +26381,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Applies updated tracking consent preferences for the buyer, including their decisions for analytics, marketing, and data sale, along with any custom tracking consent [metafields](/docs/apps/build/custom-data/metafields). Returns a promise that resolves with the result of the consent update.\n\n{% include /apps/checkout/privacy-icon.md %} Requires the [`customer_privacy` capability](/docs/api/customer-account-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) and access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Applies updated tracking consent preferences for the buyer, including their decisions for analytics, marketing, and data sale, along with any custom tracking consent [metafields](/docs/apps/build/custom-data/metafields). Returns a promise that resolves with the result of the consent update.\n\n{% include /apps/checkout/privacy-icon.md %} Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) and access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/customer-account/api/docs.ts", @@ -26431,7 +26449,7 @@ "syntaxKind": "PropertySignature", "name": "applyTrackingConsentChange", "value": "ApplyTrackingConsentChangeType", - "description": "Applies updated tracking consent preferences for the buyer, including their decisions for analytics, marketing, and data sale, along with any custom tracking consent [metafields](/docs/apps/build/custom-data/metafields). Returns a promise that resolves with the result of the consent update.\n\n{% include /apps/checkout/privacy-icon.md %} Requires the [`customer_privacy` capability](/docs/api/customer-account-ui-extensions/{API_VERSION}/configuration#collect-buyer-consent) and access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." + "description": "Applies updated tracking consent preferences for the buyer, including their decisions for analytics, marketing, and data sale, along with any custom tracking consent [metafields](/docs/apps/build/custom-data/metafields). Returns a promise that resolves with the result of the consent update.\n\n{% include /apps/checkout/privacy-icon.md %} Requires the [`collect_buyer_consent` capability](/docs/apps/build/customer-accounts/capabilities#collect-buyer-consent) and access to [protected customer data](/docs/apps/store/data-protection/protected-customer-data)." }, { "filePath": "src/surfaces/customer-account/api/docs.ts", @@ -26460,7 +26478,7 @@ "name": "extensionPoint", "value": "Target", "description": "The identifier that specifies where in Shopify’s UI your code is being injected. This will be one of the [targets](/docs/api/customer-account-ui-extensions/{API_VERSION}/configuration#targets) you have included in your extension’s configuration file. For more information, refer to the [extension targets overview](/docs/api/customer-account-ui-extensions/{API_VERSION}/extension-targets-overview).", - "deprecationMessage": "Deprecated as of version `2023-07`, use `extension.target` instead.", + "deprecationMessage": "Use `extension.target` instead.", "examples": [ { "title": "Example", @@ -40082,7 +40100,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -40829,7 +40847,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -42676,7 +42694,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -42718,7 +42736,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -42734,7 +42752,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -42747,7 +42765,7 @@ "isOptional": true } ], - "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n}" + "value": "export interface CheckboxElementProps extends Pick {\n command?: Extract;\n /**\n * The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n *\n * If a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).\n */\n label?: string;\n}" } }, "CheckboxEvents": { @@ -43412,7 +43430,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -43868,7 +43886,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -44939,7 +44957,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -45166,11 +45184,31 @@ "value": "export interface CheckboxElement extends CheckboxElementProps, Omit {\n onchange: CheckboxEvents['onChange'];\n}" } }, + "CheckboxElementSlots": { + "src/surfaces/checkout/components/Checkbox.ts": { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "name": "CheckboxElementSlots", + "description": "", + "isPublicDocs": true, + "members": [ + { + "filePath": "src/surfaces/checkout/components/Checkbox.ts", + "syntaxKind": "PropertySignature", + "name": "label", + "value": "HTMLElement", + "description": "The visual content to use as the control label.\n\nUse an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.", + "isOptional": true + } + ], + "value": "export interface CheckboxElementSlots {\n /**\n * The visual content to use as the control label.\n *\n * Use an `HTMLElement` as a rich control label composed of elements. Only an `s-text` element is supported with plain text and `s-link` as its only allowed children. Any other elements are stripped while preserving their text content.\n */\n label?: HTMLElement;\n}" + } + }, "CheckboxProps": { "src/surfaces/checkout/components/Checkbox.ts": { "filePath": "src/surfaces/checkout/components/Checkbox.ts", "name": "CheckboxProps", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Checkbox.ts", @@ -45203,7 +45241,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -45245,7 +45283,7 @@ "syntaxKind": "PropertySignature", "name": "label", "value": "string", - "description": "The text displayed as the control label, which identifies the purpose of the control to users. This label is associated with the control for accessibility.", + "description": "The visual content to use as the control label. Use a string to provide a simple text label displayed to the user.\n\nIf a `label` slot is also provided, the slot content takes precedence. [Learn more about slots](/docs/api/{API_NAME}/{API_VERSION}/web-components/forms/checkbox#slots-propertydetail-label).", "isOptional": true }, { @@ -45269,7 +45307,7 @@ "syntaxKind": "PropertySignature", "name": "required", "value": "boolean", - "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.", + "description": "Whether the field needs a value. This requirement adds semantic value to the field, but it will not cause an error to appear automatically. If you want to present an error when this field is empty, you can do so with the `error` property.\n\nAdds semantic meaning for accessibility. Doesn't trigger automatic validation or display an error. Implement validation logic yourself and use the `error` prop to show results.", "isOptional": true, "defaultValue": "false" }, @@ -50236,7 +50274,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -50244,7 +50282,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" } @@ -52612,7 +52650,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -52620,7 +52658,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" }, @@ -52721,7 +52759,7 @@ "syntaxKind": "PropertySignature", "name": "values", "value": "string[]", - "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.", + "description": "An array of `value` attributes for the currently selected options.\n\nThis is a convenience prop for setting the `selected` prop on child options.\n\nForm data captures the selected value strings only. Complex nested content inside choices is for display purposes and isn't included in form submissions.", "isOptional": true }, { @@ -52729,7 +52767,7 @@ "syntaxKind": "PropertySignature", "name": "variant", "value": "'auto' | 'list' | 'inline' | 'block' | 'grid'", - "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.", + "description": "The variant of the choice grid.\n\n- `auto`: The variant is determined by the context.\n- `list`: The choices are displayed in a list.\n- `inline`: The choices are displayed on the inline axis.\n- `block`: The choices are displayed on the block axis.\n- `grid`: The choices are displayed in a grid.\n\nThe selected content slot is supported only in the default (stacked) variant. `inline` and `grid` ignore it.", "isOptional": true, "defaultValue": "'auto'" } @@ -52841,7 +52879,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -53132,7 +53170,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -54104,7 +54142,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -56008,7 +56046,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -57054,7 +57092,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -58493,7 +58531,7 @@ "syntaxKind": "PropertySignature", "name": "hidden", "value": "boolean", - "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.", + "description": "Determines whether the chip is hidden.\n\nIf this property is being set on each framework render (as in 'controlled' usage), and the chip is `removable`, ensure you update app state for this property when the `remove` event fires.\n\nIf the chip is not `removable`, it can still be hidden by setting this property.\n\nWhen using the `removable` variant, keep `hidden` synced with your app state. If `hidden` isn't updated after the chip is removed, the chip can become permanently hidden.", "isOptional": true, "defaultValue": "false" }, @@ -61014,7 +61052,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -61749,7 +61787,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -63539,7 +63577,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -63726,7 +63764,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66154,7 +66192,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66323,7 +66361,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66454,7 +66492,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66697,7 +66735,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66878,7 +66916,7 @@ "syntaxKind": "PropertySignature", "name": "type", "value": "'mobile' | ''", - "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.", + "description": "The type of phone number to collect. Specific styling may be applied to each type to provide extra guidance to users. No additional validation is performed based on the type.\n\nStyling hint for the input keyboard. Doesn't validate the phone number format. Implement validation in your extension and use the `error` prop to show results.", "isOptional": true, "defaultValue": "''" }, @@ -66906,7 +66944,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -66982,7 +67020,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -67255,7 +67293,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -67947,7 +67985,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -69692,7 +69730,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -69768,7 +69806,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -69945,7 +69983,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -70013,7 +70051,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -70080,7 +70118,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -70236,7 +70274,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -70920,7 +70958,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -72603,7 +72641,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -72645,7 +72683,7 @@ "syntaxKind": "PropertySignature", "name": "allow", "value": "string", - "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Restricts which dates the user can select. Accepts a comma-separated list of dates and date ranges. Whitespace is allowed after commas.\n\nThe default `''` allows all dates.\n\n- Dates in `YYYY-MM-DD` format allow a single date.\n- Dates in `YYYY-MM` format allow a whole month.\n- Dates in `YYYY` format allow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of allowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -72713,7 +72751,7 @@ "syntaxKind": "PropertySignature", "name": "disallow", "value": "string", - "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.", + "description": "Dates that cannot be selected. These subtract from `allow`.\n\nA comma-separated list of dates, date ranges. Whitespace is allowed after commas.\n\nThe default `''` has no effect on `allow`.\n\n- Dates in `YYYY-MM-DD` format disallow a single date.\n- Dates in `YYYY-MM` format disallow a whole month.\n- Dates in `YYYY` format disallow a whole year.\n- Ranges are expressed as `start--end`. - Ranges are inclusive.\n - If either `start` or `end` is omitted, the range is unbounded in that direction.\n - If parts of the date are omitted for `start`, they are assumed to be the minimum possible value.\n So `2024--` is equivalent to `2024-01-01--`.\n - If parts of the date are omitted for `end`, they are assumed to be the maximum possible value.\n So `--2024` is equivalent to `--2024-12-31`.\n - Whitespace is allowed either side of `--`.\n\nComma-separated list of disallowed dates in `YYYY-MM-DD` format.", "isOptional": true, "defaultValue": "\"\"", "examples": [ @@ -72820,7 +72858,7 @@ "syntaxKind": "PropertySignature", "name": "value", "value": "string", - "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.", + "description": "Current selected value.\n\nThe default means no date is selected.\n\nIf the provided value is invalid, no date is selected.\n\nOtherwise:\n\n- If `type=\"single\"`, this is a date in `YYYY-MM-DD` format.\n- If `type=\"multiple\"`, this is a comma-separated list of dates in `YYYY-MM-DD` format.\n- If `type=\"range\"`, this is a range in `YYYY-MM-DD--YYYY-MM-DD` format. The range is inclusive.\n\nSingle dates use ISO 8601 format (`YYYY-MM-DD`); ranges use `YYYY-MM-DD--YYYY-MM-DD`. Locale-specific formats aren't supported.", "isOptional": true, "defaultValue": "\"\"" }, @@ -99290,7 +99328,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -100000,7 +100038,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -101758,7 +101796,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -121046,6 +121084,15 @@ "isOptional": true, "defaultValue": "''" }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", @@ -121059,13 +121106,22 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'small' | 'paragraph'", - "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.\n\n- `paragraph`: A semantic type that indicates the text is a structural grouping of related content.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.", + "value": "ParagraphType", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" } ], - "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * The semantic type and styling treatment for the paragraph content.\n *\n * Other presentation properties on `s-paragraph` override the default styling.\n *\n * - `paragraph`: A semantic type that indicates the text is a structural grouping of related content.\n * - `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.\n *\n * @default 'paragraph'\n */\n type?: Extract;\n}" + "value": "export interface ParagraphElementProps extends Pick {\n color?: Extract;\n tone?: Extract;\n /**\n * Sets the alignment of the text.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/text-align\n *\n * @default 'auto'\n */\n textAlign?: 'start' | 'end' | 'center' | 'auto';\n}" + } + }, + "ParagraphType": { + "src/surfaces/checkout/components/components.ts": { + "filePath": "src/surfaces/checkout/components/components.ts", + "syntaxKind": "TypeAliasDeclaration", + "name": "ParagraphType", + "value": "\"paragraph\" | \"small\"", + "description": "" } }, "ParagraphElement": { @@ -121073,6 +121129,7 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphElement", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Paragraph.ts", @@ -123322,6 +123379,15 @@ "value": "3", "description": "node is a Text node." }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "GetAccessor", @@ -123370,8 +123436,8 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'small' | 'paragraph'", - "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.\n\n- `paragraph`: A semantic type that indicates the text is a structural grouping of related content.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.", + "value": "ParagraphType", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" }, @@ -123399,6 +123465,7 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "name": "ParagraphProps", "description": "", + "isPublicDocs": true, "members": [ { "filePath": "src/surfaces/checkout/components/Paragraph.ts", @@ -123444,6 +123511,15 @@ "isOptional": true, "defaultValue": "''" }, + { + "filePath": "src/surfaces/checkout/components/Paragraph.ts", + "syntaxKind": "PropertySignature", + "name": "textAlign", + "value": "'start' | 'end' | 'center' | 'auto'", + "description": "Sets the alignment of the text.", + "isOptional": true, + "defaultValue": "'auto'" + }, { "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", @@ -123457,8 +123533,8 @@ "filePath": "src/surfaces/checkout/components/Paragraph.ts", "syntaxKind": "PropertySignature", "name": "type", - "value": "'small' | 'paragraph'", - "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.\n\n- `paragraph`: A semantic type that indicates the text is a structural grouping of related content.\n- `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand.", + "value": "ParagraphType", + "description": "The semantic type and styling treatment for the paragraph content.\n\nOther presentation properties on `s-paragraph` override the default styling.", "isOptional": true, "defaultValue": "'paragraph'" } @@ -164384,7 +164460,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -165103,7 +165179,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { @@ -166877,7 +166953,7 @@ "syntaxKind": "PropertySignature", "name": "commandFor", "value": "string", - "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).", + "description": "The ID of the component to control when this component is activated. Pair with the `command` property to specify what action to perform on the target component. Learn more about the [`commandFor` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#commandfor).\n\nWhen both `commandFor` and `href` are set, `commandFor` takes precedence. The command runs and the link doesn't navigate.", "isOptional": true }, { diff --git a/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/targets.json b/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/targets.json index c0bb965b76..69db9c4215 100644 --- a/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/targets.json +++ b/packages/ui-extensions/docs/surfaces/customer-account/generated/customer_account_ui_extensions/2026-07-rc/targets.json @@ -72,8 +72,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.announcement.render": { @@ -149,8 +176,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.cart-line-item.render-after": { @@ -226,9 +280,36 @@ "UrlField" ], "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", "CartLineItemApi", - "OrderStatusApi", - "StandardApi" + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.cart-line-list.render-after": { @@ -304,8 +385,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.return-details.render-after": { @@ -381,9 +489,36 @@ "UrlField" ], "apis": [ - "OrderStatusApi", + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", "ReturnApi", - "StandardApi" + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.fulfillment-details.render-after": { @@ -459,9 +594,36 @@ "UrlField" ], "apis": [ + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", "FulfillmentApi", - "OrderStatusApi", - "StandardApi" + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.unfulfilled-items.render-after": { @@ -537,8 +699,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.payment-details.render-after": { @@ -614,8 +803,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-status.customer-information.render-after": { @@ -691,8 +907,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order.page.render": { @@ -768,8 +1011,35 @@ "UrlField" ], "apis": [ - "OrderStatusApi", - "StandardApi" + "AddressesApi", + "AnalyticsApi", + "AttributesApi", + "AuthenticatedAccountApi", + "AuthenticationStateApi", + "BuyerIdentityApi", + "CartLinesApi", + "CheckoutSettingsApi", + "CostApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "DiscountsApi", + "ExtensionApi", + "GiftCardsApi", + "IntentsApi", + "LocalizationApi", + "MetafieldsApi", + "NavigationApi", + "NoteApi", + "OrderApi", + "OrderStatusLocalizationApi", + "RequireLoginApi", + "SessionTokenApi", + "SettingsApi", + "ShopApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.page.render": { @@ -845,7 +1115,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-index.block.render": { @@ -921,7 +1204,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order-index.announcement.render": { @@ -997,7 +1293,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.block.render": { @@ -1073,7 +1382,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.announcement.render": { @@ -1149,7 +1471,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.addresses.render-after": { @@ -1225,7 +1560,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.footer.render-after": { @@ -1301,7 +1649,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.payment.render-after": { @@ -1377,7 +1738,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.company-details.render-after": { @@ -1453,7 +1827,20 @@ "UrlField" ], "apis": [ - "StandardApi" + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.company-location-addresses.render-after": { @@ -1529,8 +1916,21 @@ "UrlField" ], "apis": [ + "AnalyticsApi", + "AuthenticatedAccountApi", "CompanyLocationApi", - "StandardApi" + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.company-location-payment.render-after": { @@ -1606,8 +2006,21 @@ "UrlField" ], "apis": [ + "AnalyticsApi", + "AuthenticatedAccountApi", "CompanyLocationApi", - "StandardApi" + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.profile.company-location-staff.render-after": { @@ -1683,8 +2096,21 @@ "UrlField" ], "apis": [ + "AnalyticsApi", + "AuthenticatedAccountApi", "CompanyLocationApi", - "StandardApi" + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order.action.menu-item.render": { @@ -1760,8 +2186,21 @@ "UrlField" ], "apis": [ + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", "OrderApi", - "StandardApi" + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, "customer-account.order.action.render": { @@ -1838,11 +2277,24 @@ ], "apis": [ "ActionExtensionApi", + "AnalyticsApi", + "AuthenticatedAccountApi", + "CustomerAccountApi", + "CustomerPrivacyApi", + "ExtensionApi", + "IntentsApi", + "LocalizationApi", + "NavigationApi", "OrderApi", - "StandardApi" + "SessionTokenApi", + "SettingsApi", + "StorageApi", + "StorefrontApi", + "ToastApi", + "VersionApi" ] }, - "OrderStatusApi": { + "AddressesApi": { "targets": [ "customer-account.order-status.announcement.render", "customer-account.order-status.block.render", @@ -1856,7 +2308,7 @@ "customer-account.order.page.render" ] }, - "StandardApi": { + "AnalyticsApi": { "targets": [ "customer-account.footer.render-after", "customer-account.order-index.announcement.render", @@ -1884,32 +2336,588 @@ "customer-account.profile.payment.render-after" ] }, - "CartLineItemApi": { + "AttributesApi": { "targets": [ - "customer-account.order-status.cart-line-item.render-after" + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" ] }, - "ReturnApi": { + "AuthenticatedAccountApi": { "targets": [ - "customer-account.order-status.return-details.render-after" + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" ] }, - "FulfillmentApi": { + "AuthenticationStateApi": { "targets": [ - "customer-account.order-status.fulfillment-details.render-after" + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" ] }, - "CompanyLocationApi": { + "BuyerIdentityApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "CartLinesApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "CheckoutSettingsApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "CostApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "CustomerAccountApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "CustomerPrivacyApi": { "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", "customer-account.profile.company-location-addresses.render-after", "customer-account.profile.company-location-payment.render-after", - "customer-account.profile.company-location-staff.render-after" + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" ] }, - "OrderApi": { + "DiscountsApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "ExtensionApi": { "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", "customer-account.order.action.menu-item.render", - "customer-account.order.action.render" + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "GiftCardsApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "IntentsApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "LocalizationApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "MetafieldsApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "NavigationApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "NoteApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "OrderApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render" + ] + }, + "OrderStatusLocalizationApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "RequireLoginApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "SessionTokenApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "SettingsApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "ShopApi": { + "targets": [ + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.page.render" + ] + }, + "StorageApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "StorefrontApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "ToastApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "VersionApi": { + "targets": [ + "customer-account.footer.render-after", + "customer-account.order-index.announcement.render", + "customer-account.order-index.block.render", + "customer-account.order-status.announcement.render", + "customer-account.order-status.block.render", + "customer-account.order-status.cart-line-item.render-after", + "customer-account.order-status.cart-line-list.render-after", + "customer-account.order-status.customer-information.render-after", + "customer-account.order-status.fulfillment-details.render-after", + "customer-account.order-status.payment-details.render-after", + "customer-account.order-status.return-details.render-after", + "customer-account.order-status.unfulfilled-items.render-after", + "customer-account.order.action.menu-item.render", + "customer-account.order.action.render", + "customer-account.order.page.render", + "customer-account.page.render", + "customer-account.profile.addresses.render-after", + "customer-account.profile.announcement.render", + "customer-account.profile.block.render", + "customer-account.profile.company-details.render-after", + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after", + "customer-account.profile.payment.render-after" + ] + }, + "CartLineItemApi": { + "targets": [ + "customer-account.order-status.cart-line-item.render-after" + ] + }, + "ReturnApi": { + "targets": [ + "customer-account.order-status.return-details.render-after" + ] + }, + "FulfillmentApi": { + "targets": [ + "customer-account.order-status.fulfillment-details.render-after" + ] + }, + "CompanyLocationApi": { + "targets": [ + "customer-account.profile.company-location-addresses.render-after", + "customer-account.profile.company-location-payment.render-after", + "customer-account.profile.company-location-staff.render-after" ] }, "ActionExtensionApi": { diff --git a/packages/ui-extensions/src/surfaces/checkout/components/Paragraph.d.ts b/packages/ui-extensions/src/surfaces/checkout/components/Paragraph.d.ts index 02e87c815f..e49a076d64 100644 --- a/packages/ui-extensions/src/surfaces/checkout/components/Paragraph.d.ts +++ b/packages/ui-extensions/src/surfaces/checkout/components/Paragraph.d.ts @@ -11,17 +11,30 @@ import type {ParagraphProps$1} from './components-shared.d.ts'; /** - * Used when an element does not have children. + * The base properties for elements that don't have children, providing essential attributes like keys and refs for component management. */ export interface BaseElementProps { + /** + * A unique identifier for this element within its parent. This is used by the rendering engine for efficient reconciliation when lists change. + */ key?: preact.Key; + /** + * A reference to the underlying DOM element, typically created using `useRef()`. This allows you to access and manipulate the DOM element directly in your component logic. + */ ref?: preact.Ref; + /** + * Assigns the element to a named slot in a parent component that uses slot-based composition patterns. + */ slot?: Lowercase; } /** - * Used when an element has children. + * The base properties for elements that have children, extending `BaseElementProps` with children support. + * @publicDocs */ export interface BaseElementPropsWithChildren extends BaseElementProps { + /** + * The child elements to render within this component. + */ children?: preact.ComponentChildren; } @@ -31,19 +44,17 @@ export interface ParagraphElementProps extends Pick; tone?: Extract; /** - * The semantic type and styling treatment for the paragraph content. - * - * Other presentation properties on `s-paragraph` override the default styling. + * Sets the alignment of the text. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/text-align * - * - `paragraph`: A semantic type that indicates the text is a structural grouping of related content. - * - `small`: A semantic type that indicates the text is considered less important than the main content, but is still necessary for the reader to understand. - * - * @default 'paragraph' + * @default 'auto' */ - type?: Extract; + textAlign?: 'start' | 'end' | 'center' | 'auto'; } +/** @publicDocs */ export interface ParagraphElement extends ParagraphElementProps, Omit { } +/** @publicDocs */ export interface ParagraphProps extends ParagraphElementProps { } declare global {