{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "./stripe-elements.js",
      "declarations": [
        {
          "kind": "class",
          "description": "[Stripe.js v3 Card Elements](https://stripe.com/docs/elements), but it's a Web Component!\nSupports Shadow DOM.\n\n👨‍🎨 [Live Demo](https://bennypowers.dev/stripe-elements/?path=/docs/stripe-elements--enter-a-stripe-publishable-key) 👀\n\n### 🧙‍♂️ Usage\nIf you prebuilt with Snowpack, load the module from your `web_modules` directory\n\n```html\n<script type=\"module\" src=\"/web_modules/@power-elements/stripe-elements/stripe-elements.js\"></script>\n```\n\nAlternatively, load the module from the unpkg CDN\n```html\n<script type=\"module\" src=\"https://unpkg.com/@power-elements/stripe-elements/stripe-elements.js?module\"></script>\n```\n\nThen you can add the element to your page.\n\n```html\n<stripe-elements id=\"stripe\"\n    action=\"/payment\"\n    publishable-key=\"pk_test_XXXXXXXXXXXXXXXXXXXXXXXX\"\n></stripe-elements>\n```\n\nSee the demos for more comprehensive examples.\n  - Using `<stripe-elements>` with [plain HTML and JavaScript](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-html--stripe-elements).\n  - Using `<stripe-elements>` in a [LitElement](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-litelement--stripe-elements).\n  - Using `<stripe-elements>` in a [Vue Component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-vue--stripe-elements).\n  - Using `<stripe-elements>` in an [Angular component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-angular--stripe-elements).\n  - Using `<stripe-elements>` in a [React component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-react--stripe-elements).\n  - Using `<stripe-elements>` in a [Preact component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-preact--stripe-elements).\n\n## Styling\n\nStripe v3's 'Stripe Elements' are not custom elements, but rather forms\nhosted by stripe and injected into your page via an iFrame. When we refer to the\n'Stripe Element' in this document, we are referring to the hosted Stripe form,\nnot the `<stripe-element>` custom element. But when I mention the 'element', I mean the custom element.\n\nWhen you apply CSS to the custom properties available, they're parsed and sent to Stripe, who should apply them to the Stripe Element they return in the iFrame.\n\n- `base` styles are inherited by all other variants.\n- `complete` styles are applied when the Stripe Element has valid input.\n- `empty` styles are applied when the Stripe Element has no user input.\n- `invalid` styles are applied when the Stripe Element has invalid input.\n\nThere are 11 properties for each state that you can set which will be read into the Stripe Element iFrame:\n\n- `color`\n- `font-family`\n- `font-size`\n- `font-smoothing`\n- `font-variant`\n- `icon-color`\n- `line-height`\n- `letter-spacing`\n- `text-decoration`\n- `text-shadow`\n- `text-transform`",
          "name": "StripeElements",
          "cssProperties": [
            {
              "description": "border radius of the element container",
              "name": "--stripe-elements-border-radius",
              "default": "`4px`"
            },
            {
              "description": "border property of the element container",
              "name": "--stripe-elements-border",
              "default": "`1px solid transparent`"
            },
            {
              "description": "box shadow for the element container",
              "name": "--stripe-elements-box-shadow",
              "default": "`0 1px 3px 0 #e6ebf1`"
            },
            {
              "description": "transition property for the element container",
              "name": "--stripe-elements-transition",
              "default": "`box-shadow 150ms ease`"
            },
            {
              "description": "`color` property for the element in its base state",
              "name": "--stripe-elements-base-color"
            },
            {
              "description": "`font-family` property for the element in its base state",
              "name": "--stripe-elements-base-font-family"
            },
            {
              "description": "`font-size` property for the element in its base state",
              "name": "--stripe-elements-base-font-size"
            },
            {
              "description": "`font-smoothing` property for the element in its base state",
              "name": "--stripe-elements-base-font-smoothing"
            },
            {
              "description": "`font-variant` property for the element in its base state",
              "name": "--stripe-elements-base-font-variant"
            },
            {
              "description": "`icon-color` property for the element in its base state",
              "name": "--stripe-elements-base-icon-color"
            },
            {
              "description": "`line-height` property for the element in its base state",
              "name": "--stripe-elements-base-line-height"
            },
            {
              "description": "`letter-spacing` property for the element in its base state",
              "name": "--stripe-elements-base-letter-spacing"
            },
            {
              "description": "`text-decoration` property for the element in its base state",
              "name": "--stripe-elements-base-text-decoration"
            },
            {
              "description": "`text-shadow` property for the element in its base state",
              "name": "--stripe-elements-base-text-shadow"
            },
            {
              "description": "`text-transform` property for the element in its base state",
              "name": "--stripe-elements-base-text-transform"
            },
            {
              "description": "`color` property for the element in its complete state",
              "name": "--stripe-elements-complete-color"
            },
            {
              "description": "`font-family` property for the element in its complete state",
              "name": "--stripe-elements-complete-font-family"
            },
            {
              "description": "`font-size` property for the element in its complete state",
              "name": "--stripe-elements-complete-font-size"
            },
            {
              "description": "`font-smoothing` property for the element in its complete state",
              "name": "--stripe-elements-complete-font-smoothing"
            },
            {
              "description": "`font-variant` property for the element in its complete state",
              "name": "--stripe-elements-complete-font-variant"
            },
            {
              "description": "`icon-color` property for the element in its complete state",
              "name": "--stripe-elements-complete-icon-color"
            },
            {
              "description": "`line-height` property for the element in its complete state",
              "name": "--stripe-elements-complete-line-height"
            },
            {
              "description": "`letter-spacing` property for the element in its complete state",
              "name": "--stripe-elements-complete-letter-spacing"
            },
            {
              "description": "`text-decoration` property for the element in its complete state",
              "name": "--stripe-elements-complete-text-decoration"
            },
            {
              "description": "`text-shadow` property for the element in its complete state",
              "name": "--stripe-elements-complete-text-shadow"
            },
            {
              "description": "`text-transform` property for the element in its complete state",
              "name": "--stripe-elements-complete-text-transform"
            },
            {
              "description": "`color` property for the element in its empty state",
              "name": "--stripe-elements-empty-color"
            },
            {
              "description": "`font-family` property for the element in its empty state",
              "name": "--stripe-elements-empty-font-family"
            },
            {
              "description": "`font-size` property for the element in its empty state",
              "name": "--stripe-elements-empty-font-size"
            },
            {
              "description": "`font-smoothing` property for the element in its empty state",
              "name": "--stripe-elements-empty-font-smoothing"
            },
            {
              "description": "`font-variant` property for the element in its empty state",
              "name": "--stripe-elements-empty-font-variant"
            },
            {
              "description": "`icon-color` property for the element in its empty state",
              "name": "--stripe-elements-empty-icon-color"
            },
            {
              "description": "`line-height` property for the element in its empty state",
              "name": "--stripe-elements-empty-line-height"
            },
            {
              "description": "`letter-spacing` property for the element in its empty state",
              "name": "--stripe-elements-empty-letter-spacing"
            },
            {
              "description": "`text-decoration` property for the element in its empty state",
              "name": "--stripe-elements-empty-text-decoration"
            },
            {
              "description": "`text-shadow` property for the element in its empty state",
              "name": "--stripe-elements-empty-text-shadow"
            },
            {
              "description": "`text-transform` property for the element in its empty state",
              "name": "--stripe-elements-empty-text-transform"
            },
            {
              "description": "`color` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-color"
            },
            {
              "description": "`font-family` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-font-family"
            },
            {
              "description": "`font-size` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-font-size"
            },
            {
              "description": "`font-smoothing` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-font-smoothing"
            },
            {
              "description": "`font-variant` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-font-variant"
            },
            {
              "description": "`icon-color` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-icon-color"
            },
            {
              "description": "`line-height` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-line-height"
            },
            {
              "description": "`letter-spacing` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-letter-spacing"
            },
            {
              "description": "`text-decoration` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-text-decoration"
            },
            {
              "description": "`text-shadow` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-text-shadow"
            },
            {
              "description": "`text-transform` property for the element in its invalid state",
              "name": "--stripe-elements-invalid-text-transform"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "is",
              "type": {
                "text": "string"
              },
              "static": true,
              "default": "'stripe-elements'"
            },
            {
              "kind": "field",
              "name": "elementType",
              "type": {
                "text": "string"
              },
              "static": true,
              "default": "'card'"
            },
            {
              "kind": "field",
              "name": "element",
              "type": {
                "text": "Stripe.StripeCardElement"
              }
            },
            {
              "kind": "field",
              "name": "hideIcon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to hide icons in the Stripe form.",
              "attribute": "hide-icon"
            },
            {
              "kind": "field",
              "name": "hidePostalCode",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not to hide the postal code field.\nUseful when you gather shipping info elsewhere.",
              "attribute": "hide-postal-code"
            },
            {
              "kind": "field",
              "name": "iconStyle",
              "type": {
                "text": "IconStyle"
              },
              "default": "'default'",
              "description": "Stripe icon style.",
              "attribute": "icon-style"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "StripeFormValues"
              },
              "default": "{}",
              "description": "Prefilled values for form.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "brand",
              "type": {
                "text": "CardBrand | null"
              },
              "default": "null",
              "description": "The card brand detected by Stripe",
              "attribute": "brand"
            },
            {
              "kind": "field",
              "name": "complete",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the form is complete.",
              "attribute": "complete",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "empty",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "If the form is empty.",
              "attribute": "empty",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the form is invalid.",
              "attribute": "invalid",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "createPaymentMethod",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<Stripe.PaymentMethodResult>"
                }
              },
              "parameters": [
                {
                  "name": "paymentMethodData",
                  "default": "this.getPaymentMethodData()",
                  "type": {
                    "text": "Stripe.CreatePaymentMethodData"
                  }
                }
              ],
              "description": "Submit payment information to generate a paymentMethod"
            },
            {
              "kind": "method",
              "name": "createSource",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<Stripe.SourceResult>"
                }
              },
              "parameters": [
                {
                  "name": "sourceData",
                  "default": "this.sourceData!",
                  "type": {
                    "text": "Stripe.CreateSourceData"
                  }
                }
              ],
              "description": "Submit payment information to generate a source"
            },
            {
              "kind": "method",
              "name": "createToken",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<Stripe.TokenResult>"
                }
              },
              "parameters": [
                {
                  "name": "tokenData",
                  "default": "this.tokenData"
                }
              ],
              "description": "Submit payment information to generate a token"
            },
            {
              "kind": "method",
              "name": "isPotentiallyValid",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks for potential validity. A potentially valid form is one that is not empty, not complete and has no error. A validated form also counts as potentially valid."
            },
            {
              "kind": "method",
              "name": "reset",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Resets the Stripe card."
            },
            {
              "kind": "method",
              "name": "submit",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<StripePaymentResponse>"
                }
              },
              "description": "Generates a payment representation of the type specified by `generate`."
            },
            {
              "kind": "method",
              "name": "validate",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks if the Stripe form is valid."
            },
            {
              "kind": "method",
              "name": "updateStyle",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "getPaymentMethodData",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Stripe.CreatePaymentMethodData"
                }
              },
              "description": "Generates PaymentMethodData from the element."
            },
            {
              "kind": "method",
              "name": "getStripeElementsStyles",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Stripe.StripeElementStyle"
                }
              },
              "description": "Returns a Stripe-friendly style object computed from CSS custom properties"
            },
            {
              "kind": "method",
              "name": "initElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "createElement",
              "privacy": "private",
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "Stripe.StripeCardElementOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "onChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Stripe.StripeCardElementChangeEvent"
                  }
                }
              ],
              "description": "Updates the element's state."
            }
          ],
          "events": [
            {
              "description": "Stripe Element change event",
              "name": "'change'"
            }
          ],
          "attributes": [
            {
              "name": "hide-icon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to hide icons in the Stripe form.",
              "fieldName": "hideIcon"
            },
            {
              "name": "hide-postal-code",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether or not to hide the postal code field.\nUseful when you gather shipping info elsewhere.",
              "fieldName": "hidePostalCode"
            },
            {
              "name": "icon-style",
              "type": {
                "text": "IconStyle"
              },
              "default": "'default'",
              "description": "Stripe icon style.",
              "fieldName": "iconStyle"
            },
            {
              "name": "value",
              "type": {
                "text": "StripeFormValues"
              },
              "default": "{}",
              "description": "Prefilled values for form.",
              "fieldName": "value"
            },
            {
              "name": "brand",
              "type": {
                "text": "CardBrand | null"
              },
              "default": "null",
              "description": "The card brand detected by Stripe",
              "fieldName": "brand"
            },
            {
              "name": "complete",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the form is complete.",
              "fieldName": "complete"
            },
            {
              "name": "empty",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "If the form is empty.",
              "fieldName": "empty"
            },
            {
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the form is invalid.",
              "fieldName": "invalid"
            }
          ],
          "superclass": {
            "name": "StripeBase",
            "module": "/src/StripeBase.js"
          },
          "tagName": "stripe-elements",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StripeElements",
          "declaration": {
            "name": "StripeElements",
            "module": "./stripe-elements.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "stripe-elements",
          "declaration": {
            "name": "StripeElements",
            "module": "./stripe-elements.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "./stripe-payment-request.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isStripeDisplayItem",
          "return": {
            "type": {
              "text": "el is StripeDisplayItem"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isStripeShippingOption",
          "return": {
            "type": {
              "text": "el is StripeShippingOption"
            }
          },
          "parameters": [
            {
              "name": "el",
              "type": {
                "text": "Element"
              }
            }
          ]
        },
        {
          "kind": "class",
          "description": "Custom element wrapper for Stripe.js v3 Payment Request Buttons.\n\n👨‍🎨 [Live Demo](https://bennypowers.dev/stripe-elements/?path=/docs/stripe-payment-request--enter-a-stripe-publishable-key) 👀\n\n### 🧙‍♂️ Usage\nIf you prebuilt with Snowpack, load the module from your `web_modules` directory\n\n```html\n<script type=\"module\" src=\"/web_modules/@power-elements/stripe-elements/stripe-payment-request.js\"></script>\n```\n\nAlternatively, load the module from the unpkg CDN\n```html\n<script type=\"module\" src=\"https://unpkg.com/@power-elements/stripe-elements/stripe-payment-request.js?module\"></script>\n```\n\nThen you can add the element to your page.\n\n```html\n\n<stripe-payment-request id=\"payment-request\"\n    publishable-key=\"pk_test_XXXXXXXXXXXXXXXXXXXXXXXX\"\n    generate=\"token\"\n    action=\"/charges\"\n    country=\"CA\"\n    currency=\"cad\"\n    amount=\"1000\"\n    label=\"Ten Bones\"\n    request-payer-name\n    request-payer-email\n    request-payer-phone\n></stripe-payment-request>\n```\n\nSee the demos for more comprehensive examples.\n  - Using `<stripe-payment-request>` with [plain HTML and JavaScript](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-vanilla--stripe-payment-request).\n  - Using `<stripe-payment-request>` in a [LitElement](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-litelement--stripe-payment-request).\n  - Using `<stripe-payment-request>` in a [Vue Component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-vue--stripe-payment-request).\n  - Using `<stripe-payment-request>` in an [Angular component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-angular--stripe-payment-request).\n  - Using `<stripe-payment-request>` in a [React component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-react--stripe-payment-request).\n  - Using `<stripe-payment-request>` in a [Preact component](https://bennypowers.dev/stripe-elements/?path=/docs/framework-examples-preact--stripe-payment-request).",
          "name": "StripePaymentRequest",
          "cssProperties": [
            {
              "description": "min-width property of the container element",
              "name": "--stripe-payment-request-element-min-width",
              "default": "`300px`"
            },
            {
              "description": "padding property of the container element",
              "name": "--stripe-payment-request-element-padding",
              "default": "`8px 12px`"
            },
            {
              "description": "background property of the container element",
              "name": "--stripe-payment-request-element-background",
              "default": "`white`"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "is",
              "type": {
                "text": "string"
              },
              "static": true,
              "default": "'stripe-payment-request'"
            },
            {
              "kind": "field",
              "name": "amount",
              "type": {
                "text": "number | undefined"
              },
              "description": "The amount in the currency's subunit (e.g. cents, yen, etc.)",
              "attribute": "amount",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "canMakePayment",
              "type": {
                "text": "Stripe.CanMakePaymentResult | null"
              },
              "default": "null",
              "description": "Whether or not the device can make the payment request.",
              "attribute": "can-make-payment",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "country",
              "type": {
                "text": "CountryCode | undefined"
              },
              "description": "The two-letter country code of your Stripe account",
              "attribute": "country"
            },
            {
              "kind": "field",
              "name": "currency",
              "type": {
                "text": "StripeCurrency | undefined"
              },
              "description": "Three character currency code",
              "attribute": "currency"
            },
            {
              "kind": "field",
              "name": "#displayItems",
              "privacy": "private",
              "type": {
                "text": "Stripe.PaymentRequestItem[] | undefined"
              }
            },
            {
              "kind": "field",
              "name": "displayItems",
              "type": {
                "text": "Stripe.PaymentRequestItem[]"
              },
              "description": "An array of PaymentRequestItem objects. These objects are shown as line items in the browser’s payment interface. Note that the sum of the line item amounts does not need to add up to the total amount above.",
              "attribute": "displayItems"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "A name that the browser shows the customer in the payment interface.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "paymentIntent",
              "type": {
                "text": "Stripe.PaymentIntent | null"
              },
              "default": "null",
              "description": "Stripe PaymentIntent",
              "attribute": "payment-intent"
            },
            {
              "kind": "field",
              "name": "paymentRequest",
              "type": {
                "text": "Stripe.PaymentRequest | null"
              },
              "default": "null",
              "description": "Stripe PaymentRequest",
              "attribute": "payment-request"
            },
            {
              "kind": "field",
              "name": "pending",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If you might change the payment amount later (for example, after you have calcluated shipping costs), set this to true. Note that browsers treat this as a hint for how to display things, and not necessarily as something that will prevent submission.",
              "attribute": "pending",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "requestPayerEmail",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "See the requestPayerName option.",
              "attribute": "request-payer-email"
            },
            {
              "kind": "field",
              "name": "requestPayerName",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "By default, the browser‘s payment interface only asks the customer for actual payment information. A customer name can be collected by setting this option to true. This collected name will appears in the PaymentResponse object.\n\nWe highly recommend you collect at least one of name, email, or phone as this also results in collection of billing address for Apple Pay. The billing address can be used to perform address verification and block fraudulent payments. For all other payment methods, the billing address is automatically collected when available.",
              "attribute": "request-payer-name"
            },
            {
              "kind": "field",
              "name": "requestPayerPhone",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "See the requestPayerName option.",
              "attribute": "request-payer-phone"
            },
            {
              "kind": "field",
              "name": "requestShipping",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "Collect shipping address by setting this option to true. The address appears in the PaymentResponse.\nYou must also supply a valid [ShippingOptions] to the shippingOptions property. This can be up front at the time stripe.paymentRequest is called, or in response to a shippingaddresschange event using the updateWith callback.",
              "attribute": "request-shipping"
            },
            {
              "kind": "field",
              "name": "#shippingOptions",
              "privacy": "private",
              "type": {
                "text": "Stripe.PaymentRequestShippingOption[] | undefined"
              }
            },
            {
              "kind": "field",
              "name": "shippingOptions",
              "type": {
                "text": "Stripe.PaymentRequestShippingOption[]"
              },
              "description": "An array of PaymentRequestShippingOption objects. The first shipping option listed appears in the browser payment interface as the default option.",
              "attribute": "shippingOptions"
            },
            {
              "kind": "field",
              "name": "buttonType",
              "type": {
                "text": "StripePaymentRequestButtonType"
              },
              "default": "'default'",
              "attribute": "button-type"
            },
            {
              "kind": "field",
              "name": "buttonTheme",
              "type": {
                "text": "StripePaymentRequestButtonTheme"
              },
              "default": "'dark'",
              "attribute": "button-theme"
            },
            {
              "kind": "method",
              "name": "reset",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getStripePaymentRequestOptions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Stripe.PaymentRequestOptions"
                }
              },
              "description": "Creates a PaymentRequestOptions object."
            },
            {
              "kind": "method",
              "name": "initElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Initializes the PaymentRequest Object."
            },
            {
              "kind": "method",
              "name": "initPaymentRequest",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Initialized the `PaymentRequest` object."
            },
            {
              "kind": "method",
              "name": "initPaymentRequestButton",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Creates Stripe Payment Request Element."
            },
            {
              "kind": "method",
              "name": "initPaymentRequestListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Attaches listeners to the `PaymentRequest` object."
            },
            {
              "kind": "method",
              "name": "updatePaymentRequest",
              "privacy": "private",
              "description": "Updates the PaymentRequests's values"
            },
            {
              "kind": "method",
              "name": "onCancel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Handle a `cancel` event"
            },
            {
              "kind": "field",
              "name": "complete",
              "privacy": "private",
              "description": "Completes the PaymentRequest."
            },
            {
              "kind": "method",
              "name": "onPaymentResponse",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "StripePaymentRequestEvent"
                  }
                }
              ],
              "description": "Handle a paymentResponse from Stripe"
            },
            {
              "kind": "method",
              "name": "confirmPaymentIntent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "paymentResponse",
                  "type": {
                    "text": "Stripe.PaymentRequestPaymentMethodEvent"
                  }
                }
              ],
              "description": "When a PaymentIntent client secret is set, confirm the payment"
            },
            {
              "kind": "method",
              "name": "confirmCardPayment",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<Stripe.PaymentIntentResult>"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "optional": true,
                  "type": {
                    "text": "Stripe.ConfirmCardPaymentData"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "Stripe.ConfirmCardPaymentOptions"
                  }
                }
              ],
              "description": "Stripe confirmCardPayment method"
            },
            {
              "kind": "method",
              "name": "onShippingaddresschange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "originalEvent",
                  "type": {
                    "text": "Stripe.PaymentRequestShippingAddressEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "onShippingoptionchange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "originalEvent",
                  "type": {
                    "text": "Stripe.PaymentRequestShippingOptionEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseDatasets",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Stripe.PaymentRequestShippingOption[]"
                }
              },
              "parameters": [
                {
                  "name": "selector",
                  "type": {
                    "text": "'stripe-shipping-option'"
                  }
                }
              ],
              "description": "Parses an element's dataset number props from string to number"
            },
            {
              "kind": "method",
              "name": "parseDatasets",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Stripe.PaymentRequestItem[]"
                }
              },
              "parameters": [
                {
                  "name": "selector",
                  "type": {
                    "text": "'stripe-display-item'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseDatasets",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "(Stripe.PaymentRequestItem|Stripe.PaymentRequestShippingOption)[]"
                }
              },
              "parameters": [
                {
                  "name": "selector",
                  "type": {
                    "text": "'stripe-display-item'|'stripe-shipping-option'"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "When the element detects that the user agent cannot make a payment",
              "name": "'unsupported'"
            },
            {
              "description": "When a payment request fails",
              "name": "'fail'"
            },
            {
              "description": "When a payment request is cancelled",
              "name": "'cancel'"
            },
            {
              "description": "When the user chooses a different shipping address",
              "name": "'shippingaddresschange'"
            },
            {
              "description": "When the user chooses a different shipping option",
              "name": "'shippingoptionchange'"
            }
          ],
          "attributes": [
            {
              "name": "amount",
              "type": {
                "text": "number | undefined"
              },
              "description": "The amount in the currency's subunit (e.g. cents, yen, etc.)",
              "fieldName": "amount"
            },
            {
              "name": "can-make-payment",
              "type": {
                "text": "Stripe.CanMakePaymentResult | null"
              },
              "default": "null",
              "description": "Whether or not the device can make the payment request.",
              "fieldName": "canMakePayment"
            },
            {
              "name": "country",
              "type": {
                "text": "CountryCode | undefined"
              },
              "description": "The two-letter country code of your Stripe account",
              "fieldName": "country"
            },
            {
              "name": "currency",
              "type": {
                "text": "StripeCurrency | undefined"
              },
              "description": "Three character currency code",
              "fieldName": "currency"
            },
            {
              "name": "displayItems",
              "type": {
                "text": "Stripe.PaymentRequestItem[]"
              },
              "description": "An array of PaymentRequestItem objects. These objects are shown as line items in the browser’s payment interface. Note that the sum of the line item amounts does not need to add up to the total amount above.",
              "fieldName": "displayItems"
            },
            {
              "name": "label",
              "type": {
                "text": "string | undefined"
              },
              "description": "A name that the browser shows the customer in the payment interface.",
              "fieldName": "label"
            },
            {
              "name": "payment-intent",
              "type": {
                "text": "Stripe.PaymentIntent | null"
              },
              "default": "null",
              "description": "Stripe PaymentIntent",
              "fieldName": "paymentIntent"
            },
            {
              "name": "payment-request",
              "type": {
                "text": "Stripe.PaymentRequest | null"
              },
              "default": "null",
              "description": "Stripe PaymentRequest",
              "fieldName": "paymentRequest"
            },
            {
              "name": "pending",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If you might change the payment amount later (for example, after you have calcluated shipping costs), set this to true. Note that browsers treat this as a hint for how to display things, and not necessarily as something that will prevent submission.",
              "fieldName": "pending"
            },
            {
              "name": "request-payer-email",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "See the requestPayerName option.",
              "fieldName": "requestPayerEmail"
            },
            {
              "name": "request-payer-name",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "By default, the browser‘s payment interface only asks the customer for actual payment information. A customer name can be collected by setting this option to true. This collected name will appears in the PaymentResponse object.\n\nWe highly recommend you collect at least one of name, email, or phone as this also results in collection of billing address for Apple Pay. The billing address can be used to perform address verification and block fraudulent payments. For all other payment methods, the billing address is automatically collected when available.",
              "fieldName": "requestPayerName"
            },
            {
              "name": "request-payer-phone",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "See the requestPayerName option.",
              "fieldName": "requestPayerPhone"
            },
            {
              "name": "request-shipping",
              "type": {
                "text": "boolean | undefined"
              },
              "description": "Collect shipping address by setting this option to true. The address appears in the PaymentResponse.\nYou must also supply a valid [ShippingOptions] to the shippingOptions property. This can be up front at the time stripe.paymentRequest is called, or in response to a shippingaddresschange event using the updateWith callback.",
              "fieldName": "requestShipping"
            },
            {
              "name": "shippingOptions",
              "type": {
                "text": "Stripe.PaymentRequestShippingOption[]"
              },
              "description": "An array of PaymentRequestShippingOption objects. The first shipping option listed appears in the browser payment interface as the default option.",
              "fieldName": "shippingOptions"
            },
            {
              "name": "button-type",
              "type": {
                "text": "StripePaymentRequestButtonType"
              },
              "default": "'default'",
              "fieldName": "buttonType"
            },
            {
              "name": "button-theme",
              "type": {
                "text": "StripePaymentRequestButtonTheme"
              },
              "default": "'dark'",
              "fieldName": "buttonTheme"
            }
          ],
          "superclass": {
            "name": "StripeBase",
            "module": "/src/StripeBase.js"
          },
          "tagName": "stripe-payment-request",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isStripeDisplayItem",
          "declaration": {
            "name": "isStripeDisplayItem",
            "module": "./stripe-payment-request.js"
          }
        },
        {
          "kind": "js",
          "name": "isStripeShippingOption",
          "declaration": {
            "name": "isStripeShippingOption",
            "module": "./stripe-payment-request.js"
          }
        },
        {
          "kind": "js",
          "name": "StripePaymentRequest",
          "declaration": {
            "name": "StripePaymentRequest",
            "module": "./stripe-payment-request.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "stripe-payment-request",
          "declaration": {
            "name": "StripePaymentRequest",
            "module": "./stripe-payment-request.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "./index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "StripeElements",
          "declaration": {
            "name": "StripeElements",
            "module": "./stripe-elements.js"
          }
        },
        {
          "kind": "js",
          "name": "StripePaymentRequest",
          "declaration": {
            "name": "StripePaymentRequest",
            "module": "./stripe-payment-request.js"
          }
        }
      ]
    }
  ]
}
