address-fields

Displays a form to edit an address.

Usage of address-fields

<address-fields name="<string>"> </address-fields>

  • name: string – The name of the address to edit.

Default Template

<div>
    <overridable name="address-fields" section="top"></overridable>

    <fieldset class="snipcart-form__set">
        <div class="snipcart-form__row">
            <div class="snipcart-form__field snipcart-form__cell--large">
                <snipcart-label class="snipcart__font--tiny" for="address1">{{ $localize('address_form.address1') }}</snipcart-label>
                <snipcart-input name="address1"></snipcart-input>
                <snipcart-error-message name="address1"></snipcart-error-message>
            </div>

            <div class="snipcart-form__field snipcart-form__cell--tidy">
                <snipcart-label class="snipcart__font--tiny" for="address2">{{ $localize('address_form.address2') }}</snipcart-label>
                <snipcart-input name="address2"></snipcart-input>
                <snipcart-error-message name="address2"></snipcart-error-message>
            </div>
        </div>

        <div class="snipcart-form__field">
            <snipcart-label class="snipcart__font--tiny" for="city">{{ $localize('address_form.city') }}</snipcart-label>
            <snipcart-input name="city"></snipcart-input>
            <snipcart-error-message name="city"></snipcart-error-message>
        </div>

        <div class="snipcart-form__field">
            <snipcart-label class="snipcart__font--tiny" for="country">{{ $localize('address_form.country') }}</snipcart-label>
            <snipcart-typeahead type="dropdown" name="country" display="name"></snipcart-typeahead>
        </div>

        <div class="snipcart-form__row">
            <div class="snipcart-form__field snipcart-form__cell--large">
                <snipcart-label class="snipcart__font--tiny" for="province">{{ $localize('address_form.province') }}</snipcart-label>
                <snipcart-typeahead type="dropdown" name="province" display="name"></snipcart-typeahead>
            </div>

            <div class="snipcart-form__field snipcart-form__cell--tidy">
                <snipcart-label class="snipcart__font--tiny" for="postalCode">{{ $localize('address_form.postalCode') }}</snipcart-label>
                <snipcart-input name="postalCode"></snipcart-input>
                <snipcart-error-message name="postalCode"></snipcart-error-message>
            </div>
        </div>
    </fieldset>
</div>

billing

Component that gathers billing address and customer information

Usage of billing

<billing> </billing>

    Default Template

    <snipcart-form @submit="save">
        <overridable name="billing">
            <div class="snipcart__box">
                <div class="snipcart__box--header">
                    <div class="snipcart__box--title">
                        <div class="snipcart__box--badge snipcart__box--badge snipcart__box--badge-highlight snipcart__font--bold snipcart__font--secondary">{{ number }}</div>
                        <h1 class="snipcart__font--subtitle">
                            {{ $localize('billing.title') }}
                        </h1>
                    </div>
                </div>
    
                <overridable name="billing" section="top"></overridable>
                
                <fieldset class="snipcart-form__set">
                    <div class="snipcart-form__field">
                        <snipcart-label class="snipcart__font--tiny" for="name">
                            {{ $localize('address_form.name') }}
                        </snipcart-label>
                        
                        <snipcart-input name="name"></snipcart-input>
                        <snipcart-error-message name="name"></snipcart-error-message>
                    </div>
    
                    <div class="snipcart-form__field">
                        <snipcart-label class="snipcart__font--tiny" for="email">
                            {{ $localize('address_form.email' )}}
                        </snipcart-label>
    
                        <snipcart-input name="email"></snipcart-input>
                        <snipcart-error-message name="email"></snipcart-error-message>
                    </div>
                </fieldset>
    
                <address-fields></address-fields>
    
                <hr class="snipcart-form__separator" v-if="shippingEnabled" />
    
                <fieldset class="snipcart-form__set" v-if="shippingEnabled">
                    <div class="snipcart-form__field">
                        <div class="snipcart-form__field-checkbox">
                            <snipcart-checkbox name="useDifferentShippingAddress"/>
    
                            <snipcart-label class="snipcart__font--tiny snipcart-form__label--checkbox" for="useDifferentShippingAddress">
                                {{ $localize('billing.use_different_shipping_address') }}
                            </snipcart-label>
                        </div>
                    </div>
                </fieldset>
    
                <overridable name="billing" section="bottom"></overridable>
    
                <div class="snipcart-form__footer">
                    <submit-button type="submit" class="snipcart-cart-button--medium snipcart-cart-button--highlight snipcart__font--large">
                        {{ shippingEnabled ? $localize('billing.continue_to_shipping') : $localize('payment.continue_to_payment') }}
                    </submit-button>
                </div>
            </div>
        </overridable>
    </snipcart-form>

    billing-completed

    Usage of billing-completed

    <billing-completed context="<string>"> </billing-completed>

    • context: string – Context in which this component is rendered

    Default Template

    <transition name="snipcart-billing-completed__slide-transition">
        <overridable name="billing-completed" :class="cssClasses">
            <div class="snipcart__box snipcart-billing-completed">
                <div class="snipcart-billing-completed__header snipcart__box--header">
                    <div class="snipcart__box--title">
                        <div class="snipcart__box--badge snipcart__font--bold snipcart__font--secondary" v-if="checkout"><icon name="checkmark" class="snipcart__icon--large snipcart__icon--blue-dark"></icon></div>
                        <h1 class="snipcart-billing-completed__title snipcart__font--subtitle">
                            <icon name="user" class="snipcart__icon--left snipcart__icon--blue-dark" v-if="!checkout"></icon>
                            {{ $localize('billing.title') }}
                        </h1>
                    </div>
    
                    <a href="#" @click="edit" v-if="checkout" class="snipcart__actions--link">{{ $localize('actions.edit')}}</a>
                </div>
                
                <div class="snipcart-checkout-step__cols snipcart__font--std">
                    <div class="snipcart-checkout-step__col">
                        <div class="snipcart-checkout-step__icon snipcart-billing-completed__step-icon">
                            <icon name="user" class="snipcart__icon--blue-dark"></icon>
                        </div>
                        <div>
                            <h3 class="snipcart-billing-completed__step-title snipcart__font--secondary snipcart__font--bold">{{ $localize('customer.information') }}</h3>
                            <span class="snipcart-billing-completed__information snipcart__font--std">{{ cart.billingAddress.name }}<br />{{ cart.email }}</span>
                        </div>
                    </div>
    
                    <div class="snipcart-checkout-step__col">
                        <div class="snipcart-checkout-step__icon snipcart-billing-completed__step-icon">
                            <icon name="location" class="snipcart__icon--blue-dark"></icon>
                        </div>
                        <div>
                            <h3 class="snipcart-billing-completed__step-title snipcart__font--secondary snipcart__font--bold">{{ $localize('billing.address') }}</h3>
                            <span class="snipcart-billing-completed__information snipcart__font--std">{{ cart.billingAddress | address }}</span>
                        </div>
                    </div>
                </div>
            </div>
        </overridable>
    </transition>

    card-icon

    Usage of card-icon

    <card-icon> </card-icon>

      cart

      Usage of cart

      <cart editingCart="<boolean>"> </cart>

      • editingCart: boolean – Indicates if the cart is currently opened as a side-panel over the checkout screen.

      Default Template

      <layout>
          <div class="snipcart-layout__header" v-if="!editingCart">
              <overridable name="cart" section="header">
                  <cart-header title="header.title_cart_summary"></cart-header>
              </overridable>
          </div>
          <loading-screen message="cart.loading" class="snipcart-layout__content" :class="layoutContentCssClasses">
              <div class="snipcart-cart__secondary-header" v-if="editingCart">
                  <h1 class="snipcart__font--secondary snipcart__font--bold snipcart__font--xlarge">Cart Summary</h1>
                  <close-cart-action>
                      <icon name="plus" class="snipcart__icon--dark snipcart__icon--medium snipcart__icon--angled" alt="item.remove_item"></icon>
                  </close-cart-action>
              </div>
              <overridable name="cart" v-if="hasItems">
                  <section class="snipcart-cart__content">
                      <item-list item-template="item-line" class="snipcart-item-list--no-shadow"></item-list>
      
                      <div class="snipcart-cart__footer">
                          <div class="snipcart-cart__footer-col cart__footer-discount-box snipcart-cart__actions">
                              <discount-box class="snipcart-cart__discount-box"></discount-box>
                          </div>
      
                          <div class="snipcart-cart__footer-col">
                              <cart-summary-fees class="snipcart-cart-summary-fees--reverse">{{ $localize('cart.shipping_taxes_calculated_at_checkout')}}</cart-summary-fees>
      
                              <footer v-if="editingCart">
                                  <close-cart-action class="snipcart-cart__back-button snipcart-cart-button snipcart-cart-button--secondary snipcart__font--secondary snipcart__font--bold">
                                      <span class="snipcart-cart-button__grid">
                                          <span class="snipcart-cart-button__content--left">
                                              <icon name="back-arrow"></icon>
                                          </span>
                                          <span class="snipcart-cart-button__content">
                                              {{ $localize('actions.back_to_checkout') }}
                                          </span>
                                      </span>
                                  </close-cart-action>
                              </footer>
      
                              <footer v-if="!editingCart">
                                  <cart-button 
                                      class="snipcart-cart-button--large snipcart-cart-button--highlight snipcart-cart-button--spaced snipcart__font--large"
                                      icon-right="continue-arrow"
                                      @click="checkout">
                                      {{ $localize('actions.checkout') }}
                                  </cart-button>
                              </footer>
                              
                              <div class="snipcart-cart__payment-methods-container">
                                  <payment-methods v-if="!editingCart"></payment-methods>
                              </div>
                          </div>
                      </div>
                  </section>
              </overridable>
              <empty-cart v-else></empty-cart>
          </loading-screen>
      </layout>

      cart-button

      Component that renders a button

      Usage of cart-button

      <cart-button type="<string>" icon="<string>" iconRight="<string>" disabled="<boolean>" loading="<boolean>" loadingMessage="<string>"> </cart-button>

      • type: string – Button type

      • icon: string – Icon to show on the left-side of the button

      • iconRight: string – Icon to show on the right-side of the button

      • disabled: boolean – Indicates if the button is disabled or not.

      • loading: boolean – Indicates if the button is in loading state.

      • loadingMessage: string – The message to display when the button is in loading state.

      cart-header

      Component that shows the number of items in the cart and a way to close the cart.

      Usage of cart-header

      <cart-header title="<string>"> </cart-header>

      Default Template

      <header class="snipcart-cart-header" v-if="!loading">
          <close-cart-action class="snipcart-cart-header__close-button snipcart-modal__close">
              <icon class="snipcart-modal__close-icon snipcart__icon--blue-light" name="back-arrow" />
              <span class="snipcart-modal__close-title snipcart__font--std">
                  {{ $localize('actions.continue_shopping') }}
              </span>
          </close-cart-action>
      
          <h3 class="snipcart-cart-header__title snipcart__font--black snipcart__font--secondary" v-if="title">
              {{ $localize(title) }}
          </h3>
      
          <div class="snipcart-cart-header__count snipcart__font--secondary snipcart__font--bold">
              <icon name="cart" class="snipcart-cart-header__icon snipcart__icon--blue-dark" />
              {{ itemsCount }}
          </div>
      </header>
      <header class="snipcart-cart-header" v-else>
          <close-cart-action class="snipcart-modal__close">
              <icon class="snipcart-modal__close-icon snipcart__icon--blue-light" name="back-arrow" />
              <span class="snipcart-modal__close-title snipcart__font--std">
                  {{ $localize('actions.continue_shopping') }}
              </span>
          </close-cart-action>
      </header>

      cart-summary

      Usage of cart-summary

      <cart-summary> </cart-summary>

        Default Template

        <div @click="summaryClicked">
            <transition name="snipcart-cart-summary__small-transition">
                <overridable name="cart-summary">
                    <div class="snipcart-cart-summary">
                        <section class="snipcart-cart-summary__content">
                            <div class="snipcart-cart-summary__actions snipcart__box--header">
                                <h1 class="snipcart-cart-summary__title snipcart__font--subtitle">{{ $localize('cart.summary') }}</h1>
                                <edit-cart-action class="snipcart__actions--link">{{ $localize('actions.edit') }}</edit-cart-action>
                            </div>
        
                            <overridable name="cart-summary" section="items">
                                <cart-summary-items-list class="snipcart-cart-summary__items"></cart-summary-items-list>
                            </overridable>
        
                            <hr class="snipcart-cart-summary__separator" />
        
                            <loading-overlay>
                                <div class="snipcart-cart-summary__totals">
                                    <cart-summary-fees></cart-summary-fees>
                                </div>
                            </loading-overlay>
                        </section>
        
                        <footer class="snipcart-cart-summary__footer">
                            <payment-methods class="snipcart-payment-methods--no-background"/>
                        </footer>
                    </div>
                </overridable>
            </transition>
        
            <transition name="snipcart-cart-summary__overlay-transition">
                <div class="snipcart-cart-summary__overlay" v-if="editing" @click="closeCart"></div>
            </transition>
        
            <cart :editingCart="true" class="snipcart-cart-summary--edit" v-if="editing" @close="cartClosed" />
        </div>

        cart-summary-expanded-item

        Usage of cart-summary-expanded-item

        <cart-summary-expanded-item item="<CartItem>"> </cart-summary-expanded-item>

        cart-summary-fees

        Components that shows the cart fees such as taxes, shipping, grand total, etc.

        Usage of cart-summary-fees

        <cart-summary-fees> </cart-summary-fees>

          Default Template

          <div class="snipcart-cart-summary-fees">
              <div class="snipcart-cart-summary-fees__notice snipcart__font--regular" v-if="!hasShippingAddress">
                  <slot>
                      {{ $localize('checkout.shipping_taxes_calculated_when_address_provided') }}
                  </slot>
              </div>
          
              <div class="snipcart-cart-summary-fees">
                  <div class="snipcart-cart-summary-fees__item snipcart-cart-summary-fees__discounts snipcart__font--slim" v-if="discountsTotal">
                      <span class="snipcart-cart-summary-fees__title">
                          {{ $localize('cart_summary.discount') }}
                          <div class="snipcart-cart-summary-fees__discounts-icon" v-if="discounts">
                              <icon name="question-mark" @mouseover.native="displayDiscounts = true" @mouseleave.native="displayDiscounts = false"></icon>
                              <tool-tip v-show="displayDiscounts" class="snipcart-tool-tip--top">
                                  <div class="snipcart-cart-summary-fees__discount-container" v-for="discount in discounts" :key="discount.id">
                                      <div class="snipcart-cart-summary-fees__discount-name snipcart__font--black">{{ discount.name }}</div>
                                      <div class="snipcart-cart-summary-fees__discount-amount-saved snipcart__font--black">-{{ discount.amountSaved | money(cart.currency)}}</div>
                                  </div>
                              </tool-tip>
                          </div>
                      </span>
                      <span class="snipcart-cart-summary-fees__amount">{{ discountsTotal | money(cart.currency) }}</span>
                  </div>
          
                  <div class="snipcart-cart-summary-fees__item snipcart__font--slim" v-if="subtotal">
                      <span class="snipcart-cart-summary-fees__title">{{ $localize('cart_summary.subtotal') }}</span>
                      <span class="snipcart-cart-summary-fees__amount">{{ subtotal | money(cart.currency) }}</span>
                  </div>
          
                  <div class="snipcart-cart-summary-fees__item snipcart__font--slim" v-if="shipping.cost != null">
                      <span class="snipcart-cart-summary-fees__title">{{ $localize('cart_summary.shipping') }}</span>
                      <span class="snipcart-cart-summary-fees__amount">{{ shipping.cost | money(cart.currency) }}</span>
                  </div>
          
                  <div class="snipcart-cart-summary-fees__item snipcart__font--slim" v-for="tax in taxes" :key="tax.name">
                      <span class="snipcart-cart-summary-fees__title"> {{ tax.name }}</span>
                      <span class="snipcart-cart-summary-fees__amount">{{ tax.amount | money(cart.currency) }}</span>
                  </div>
          
                  <div class="snipcart-cart-summary-fees__item snipcart-cart-summary-fees__total snipcart__font--bold snipcart__font--secondary">
                      <span class="snipcart-cart-summary-fees__title snipcart-cart-summary-fees__title--highlight snipcart__font--large">{{ $localize('cart_summary.total')}}</span>
                      <span class="snipcart-cart-summary-fees__amount snipcart-cart-summary-fees__amount--highlight snipcart__font--large">{{ total| money(cart.currency) }}</span>
                  </div>
              </div>
          </div>

          cart-summary-item

          Component that renders an item from `CartSummaryItemsList` component.

          Usage of cart-summary-item

          <cart-summary-item item="<CartItem>"> </cart-summary-item>

          • item: CartItem – The item associated to the component instance.

          Default Template

          <slot v-bind="item">
              <li class="snipcart-cart-summary-item">
                  <span class="snipcart-cart-summary-item__name snipcart__font--slim">
                      {{ item.name }}
                  </span>
          
                  <span class="snipcart-cart-summary-item__quantity snipcart__font--slim">
                      {{ $localize('cart_summary.quantity') }}{{ item.quantity }}
                  </span>
          
                  <span class="snipcart-cart-summary-item__price snipcart__font--slim">
                      {{ item.price | money(currency) }}
                  </span>
              </li>
          </slot>

          cart-summary-items-list

          This component renders the list of items in the cart for the summary visible during checkout process.

          Usage of cart-summary-items-list

          <cart-summary-items-list tag="<string>" itemTemplate="<string>"> </cart-summary-items-list>

          • tag: string – Sets the root element tag.

          • itemTemplate: string – Sets the template to use for each item in the cart.

          checkout

          Usage of checkout

          <checkout> </checkout>

            Default Template

            <layout class="snipcart-layout--large snipcart-cart__checkout__container">
                <overridable name="checkout" section="header" :class="layoutHeaderCssClasses">
                    <div class="snipcart-layout__header">
                        <header class="snipcart-modal__header snipcart-modal__header--fixed">
                            <close-cart-action class="snipcart-modal__close">
                                <icon name="back-arrow" class="snipcart-modal__close-icon snipcart__icon--blue-light" alt="actions.close_cart" />
                                <span class="snipcart-modal__close-title snipcart__font--std">
                                    {{ $localize('actions.continue_shopping') }}
                                </span>
                            </close-cart-action>
            
                            <media name="mobile, tablet" class="snipcart-modal__header-summary" v-if="!loading">
                                <div class="snipcart-modal__header-summary-title snipcart__font--large snipcart__font--secondary snipcart__font--bold" @click.prevent="showSummary">
                                    <icon name="cart" class="snipcart__icon--blue-dark"></icon>
                                    <span>
                                        {{ total | money(cart.currency) }}
                                    </span>
                                    <icon :name="summaryIcon" class="snipcart__icon--blue-dark snipcart__icon--medium"></icon>
                                </div>
            
                                <cart-summary  class="snipcart-cart-summary--small" v-if="summaryVisible" @close="closeSummary">
                                </cart-summary>
                            </media>
                        </header>
                    </div>
                </overridable>
                <loading-screen message="cart.loading" @loaded="mapState">
                    <overridable name="checkout" :class="layoutCssClasses" class="snipcart-layout__content">
                        <div class="snipcart-checkout__content">
                            <div class="snipcart-layout__cols">
                                <div class="snipcart-layout__col snipcart-layout__col--large" v-if="stepsReady">
                                    <checkout-step 
                                        v-for="(step, key, index) in steps" 
                                        :key="key"
                                        :name="step.components.edit" 
                                        :title="`${step.components.edit}.title`"
                                        :number="index+1"/>
                                </div>
            
                                <media name="large" class="snipcart-layout__col">
                                    <cart-summary />
                                </media>
                            </div>
                        </div>
                    </overridable>
                </loading-screen>
            </layout>

            checkout-step

            Usage of checkout-step

            <checkout-step number="<string>" name="<string>" title="<string>"> </checkout-step>

            close-cart-action

            Usage of close-cart-action

            <close-cart-action> </close-cart-action>

              decrement-quantity-action

              Usage of decrement-quantity-action

              <decrement-quantity-action> </decrement-quantity-action>

                disabled-checkout-step

                Usage of disabled-checkout-step

                <disabled-checkout-step> </disabled-checkout-step>

                  discount-box

                  Usage of discount-box

                  <discount-box> </discount-box>

                    edit-cart-action

                    Component that renders a link to edit the cart during checkout process.

                    Usage of edit-cart-action

                    <edit-cart-action> </edit-cart-action>

                      edit-shipping-address-button

                      Usage of edit-shipping-address-button

                      <edit-shipping-address-button> </edit-shipping-address-button>

                        empty-cart

                        Component used when cart is visible without items in it.

                        Usage of empty-cart

                        <empty-cart> </empty-cart>

                          Default Template

                          <section class="snipcart-empty-cart">
                              <h1 class="snipcart-empty-cart__title snipcart__font--secondary snipcart__font--xlarge snipcart__font--bold">
                                  {{ $localize('cart.empty') }}
                              </h1>
                          
                              <div class="snipcart-empty-cart__actions">
                                  <close-cart-action class="snipcart-cart-button snipcart-cart-button--secondary snipcart__font--secondary snipcart__font--bold">
                                      <span class="snipcart-cart-button__grid">
                                          <span class="snipcart-cart-button__content--left">
                                              <icon name="back-arrow"></icon>
                                          </span>
                                          <span class="snipcart-cart-button__content">
                                              {{ $localize('actions.back_to_store') }}
                                          </span>
                                      </span>
                                  </close-cart-action>
                              </div>
                          </section>

                          flash-message

                          Component that displays error messages

                          Usage of flash-message

                          <flash-message title="<string>" description="<string>" icon="<string>"> </flash-message>

                          • title: string – Title of the error

                          • description: string – Description of the error

                          • icon: string – Icon of the error

                          Default Template

                          <div class="snipcart-flash-message">
                              <icon :name="icon" class="snipcart-flash-message__icon"></icon>
                              <div class="snipcart-flash-message__content">
                                  <h2 class="snipcart-flash-message__title
                                      snipcart__font--secondary
                                      snipcart__font--black
                                      snipcart__font--large">
                                      {{ title }}
                                  </h2>
                                  <p class="snipcart-flash-message__description
                                      snipcart__font--std">
                                      {{ description }}
                                      <slot class="snipcart-flash-message__action"></slot>
                                  </p>
                              </div>
                          </div>

                          icon

                          Display one of the built-in icons

                          Usage of icon

                          <icon name="<string>" custom="<boolean>" width="<number>" height="<number>" alt="<string>"> </icon>

                          • name: string – Name of the icon to show

                            Can be one of: back-arrow, box, card, cart, checkmark, chevron-down, chevron-up, continue-arrow, green-check, location, lock, mastercard, minus, paypal, pin, plus, trash, user, visa, spinner, spinner-white, question-mark, front, card-alipay, card-amex, card-default, card-diners, card-discover, card-elo, card-hipercard, card-jcb, card-maestro, card-mastercard, card-paypal, card-unionpay, card-verve, card-visa, back-arrow, box, card, cart, checkmark, chevron-down, chevron-up, continue-arrow, green-check, location, lock, mastercard, minus, paypal, pin, plus, trash, user, visa, spinner, spinner-white, question-mark, front, card-alipay, card-amex, card-default, card-diners, card-discover, card-elo, card-hipercard, card-jcb, card-maestro, card-mastercard, card-paypal, card-unionpay, card-verve or card-visa

                          • custom: boolean

                          • width: number – Width of the icon in number of pixels

                          • height: number – Height of the icon in number of pixels

                          • alt: string – Alt text to use for accessibility

                          increment-quantity-action

                          Usage of increment-quantity-action

                          <increment-quantity-action> </increment-quantity-action>

                            item-custom-fields

                            Usage of item-custom-fields

                            <item-custom-fields> </item-custom-fields>

                              item-description

                              Usage of item-description

                              <item-description> </item-description>

                                item-image

                                Usage of item-image

                                <item-image alt="<string>"> </item-image>

                                item-line

                                Component that shows the details of an item in the cart. Child of `item-list`.

                                Usage of item-line

                                <item-line tag="<string>" item="<CartItem>"> </item-line>

                                Default Template

                                <li :class="{'snipcart-item-line': true, 'snipcart-item-line--cart-edit': editingCart}">
                                    <figure class="snipcart-item-line__media" v-if="showLargeImage">
                                        <item-image class="snipcart-item-line__image"></item-image>
                                    </figure>
                                    <div class="snipcart-item-line__product">
                                        <div class="snipcart-item-line__header">
                                            <figure class="snipcart-item-line__media snipcart-item-line__media--small" v-if="showSmallImage">
                                                <item-image class="snipcart-item-line__image"></item-image>
                                            </figure>
                                
                                            <h2 class="snipcart-item-line__title snipcart__font--xlarge snipcart__font--secondary snipcart__font--black">
                                                {{ item.name }}
                                            </h2>
                                            
                                            <div class="snipcart-item-line__actions">
                                                <remove-item-action class="snipcart__button--icon">
                                                    <icon name="trash" class="snipcart__icon--red" alt="item.remove_item"></icon>
                                                </remove-item-action>
                                            </div>
                                        </div>
                                
                                        <div class="snipcart-item-line__content">
                                            <div class="snipcart-item-line__body">
                                                <div class="snipcart-item-line__info">
                                                    <item-description></item-description>
                                                </div>
                                                <div class="snipcart-item-line__variants">
                                                    <item-custom-fields v-if="!adding"></item-custom-fields>
                                                    <item-quantity class="snipcart-item-line__quantity" v-if="!adding"></item-quantity>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </li>

                                item-list

                                Component that shows the cart items list.

                                Usage of item-list

                                <item-list tag="<string>" itemTemplate="<string>"> </item-list>

                                • tag: string – Set the root element tag, default

                                • itemTemplate: string – Template used to render each item line.

                                item-quantity

                                Usage of item-quantity

                                <item-quantity> </item-quantity>

                                  layout

                                  Usage of layout

                                  <layout headerTitle="<string>" contentCssClass="<any>" headerCssClass="<any>"> </layout>

                                  • headerTitle: string

                                  • contentCssClass: any

                                  • headerCssClass: any

                                  loading-overlay

                                  An overlay to show on top of content that is being loaded / updated.

                                  Usage of loading-overlay

                                  <loading-overlay icon="<string>" message="<string>" showIcon="<boolean>"> </loading-overlay>

                                  loading-screen

                                  Component that renders a loading screen while an async operation is in progress.

                                  Usage of loading-screen

                                  <loading-screen message="<string>" tag="<string>"> </loading-screen>

                                  • message: string – The loading message

                                  • tag: string – Sets the root element tag.

                                  Default Template

                                  <component :is="tag">
                                      <slot v-if="!loading"></slot>
                                      <overridable name="loading-screen" v-else>
                                          <div class="snipcart__loading__screen">
                                              <div class="snipcart__loading__screen__content">
                                                  <icon name="spinner" class="snipcart__loading__screen__icon"></icon>
                                                  <span class="snipcart__loading__screen__content__message">
                                                      {{ localizedLoadingMessage }}
                                                  </span>
                                              </div>
                                          </div>
                                      </overridable>
                                  </component>

                                  media

                                  Usage of media

                                  <media> </media>

                                    payment

                                    Usage of payment

                                    <payment> </payment>

                                      payment-card-form

                                      Component that renders a credit card form.

                                      Usage of payment-card-form

                                      <payment-card-form> </payment-card-form>

                                        payment-completed

                                        Component that renders when the payment is completed.

                                        Usage of payment-completed

                                        <payment-completed> </payment-completed>

                                          payment-methods

                                          Component that shows the list of accepted payment methods. You must override this component if you want to change this list.

                                          Usage of payment-methods

                                          <payment-methods> </payment-methods>

                                            Default Template

                                            <div class="snipcart-payment-methods">
                                                <h3 class="snipcart__font--secondary snipcart__font--bold  snipcart-payment-methods__title">
                                                    <a :href="securedByUrl" class="snipcart-payment-methods__link" target="_blank">
                                                        <icon name="lock" class="snipcart-payment-methods__title-icon"></icon>
                                                        {{ $localize('cart.secured_by') }}
                                                    </a>
                                                </h3>
                                                <ul class="snipcart-payment-methods__list">
                                                    <li class="snipcart-payment-methods__list-item">
                                                        <icon name="visa" alt="Visa" class="snipcart__icon--brand"></icon>
                                                    </li>
                                                    <li class="snipcart-payment-methods__list-item">
                                                        <icon name="mastercard" alt="Mastercard" class="snipcart__icon--brand"></icon>
                                                    </li>
                                                </ul>
                                            </div>

                                            remove-item-action

                                            Usage of remove-item-action

                                            <remove-item-action> </remove-item-action>

                                              shipping

                                              Component that renders the shipping box, it shows the shipping address form or shipping method picker depending on its state.

                                              Usage of shipping

                                              <shipping> </shipping>

                                                shipping-address

                                                Component that allows a customer to change / define its shipping address.

                                                Usage of shipping-address

                                                <shipping-address> </shipping-address>

                                                  Default Template

                                                  <snipcart-form @submit="save">
                                                      <overridable name="shipping-address">
                                                          <div class="snipcart__box">
                                                              <div class="snipcart__box--header">
                                                                  <div class="snipcart__box--title">
                                                                      <div class="snipcart__box--badge snipcart__box--badge snipcart__box--badge-highlight snipcart__font--bold snipcart__font--secondary">2</div>
                                                                      <h1 class="snipcart__font--subtitle snipcart-shipping-address__title">{{ $localize("shipping.title") }}</h1>
                                                                  </div>
                                                              </div>
                                                              
                                                              <div class="snipcart-shipping-address--readonly">
                                                                  <div class="snipcart-shipping-address__header--readonly">
                                                                      <h3 class="snipcart-shipping-address__subtitle snipcart__font--bold">{{ $localize("shipping.shipping_to") }}</h3>
                                                                  </div>
                                                              </div>
                                                              
                                                              <overridable name="shipping-address" section="top"></overridable>
                                                              
                                                              <address-fields name="shippingAddress"></address-fields>
                                                                  
                                                              <div class="snipcart-form__footer">
                                                                  <submit-button :loading="state.saving" class="snipcart-cart-button--medium snipcart-cart-button--highlight snipcart__font--large">
                                                                      {{ $localize('actions.use_this_address') }}
                                                                  </submit-button>
                                                              </div>
                                                          </div>
                                                      </overridable>
                                                  </snipcart-form>

                                                  shipping-completed

                                                  Usage of shipping-completed

                                                  <shipping-completed context="<string>"> </shipping-completed>

                                                  • context: string – Context in which this component is rendered

                                                  Default Template

                                                  <div class="snipcart__box snipcart-shipping-completed">
                                                      <div class="snipcart-shipping-completed__header snipcart__box--header">
                                                          <div class="snipcart__box--title">
                                                              <div class="snipcart__box--badge snipcart__font--bold snipcart__font--secondary" v-if="checkout"><icon name="checkmark" class="snipcart__icon--large snipcart__icon--blue-dark" /></div>
                                                              <h1 class="snipcart-shipping-completed__title snipcart__font--subtitle">
                                                                  <icon name="box" class="snipcart__icon--left snipcart__icon--blue-dark" v-if="!checkout"></icon>
                                                                  {{ $localize('shipping.title') }}
                                                              </h1>
                                                          </div>
                                                          <a href="#" @click.prevent="edit" class="snipcart__actions--link" v-if="checkout">Edit</a>
                                                      </div>
                                                      
                                                      <div class="snipcart-checkout-step__cols snipcart__font--std">
                                                          <div class="snipcart-checkout-step__col">
                                                              <div class="snipcart-checkout-step__icon snipcart-shipping-completed__step-icon">
                                                                  <icon name="location" class="snipcart__icon--blue-dark" />
                                                              </div>
                                                              <div class="snipcart__address__display">
                                                                  <h3 class="snipcart-checkout-step__title snipcart-shipping-completed__step-title snipcart__font--secondary snipcart__font--bold">{{ $localize('shipping.address') }}</h3>
                                                                  <span class="snipcart-shipping-completed__information">{{ cart.shippingAddress | address }}</span>
                                                              </div>
                                                          </div>
                                                  
                                                          <div class="snipcart-checkout-step__col">
                                                              <div class="snipcart-checkout-step__icon snipcart-shipping-completed__step-icon">
                                                                  <icon name="box" class="snipcart__icon--blue-dark"></icon>
                                                              </div>
                                                              <div>
                                                                  <h3 class="snipcart-checkout-step__title snipcart-shipping-completed__step-title snipcart__font--secondary snipcart__font--bold">{{ $localize('shipping.method') }}</h3>
                                                                  <span class="snipcart-shipping-completed__information">{{ shippingDetails.method }}</span>
                                                              </div>                
                                                          </div>
                                                      </div>
                                                  </div>

                                                  shipping-method

                                                  This component renders the shipping method picker.

                                                  Usage of shipping-method

                                                  <shipping-method> </shipping-method>

                                                    Default Template

                                                    <snipcart-form @submit="save">
                                                        <overridable name="shipping-method">
                                                            <div class="snipcart__box">
                                                                <div class="snipcart__box--header">
                                                                    <div class="snipcart__box--title">
                                                                        <div class="snipcart__box--badge snipcart__box--badge snipcart__box--badge-highlight snipcart__font--bold snipcart__font--secondary">{{ number }}</div>
                                                                        <h1 class="snipcart__font--subtitle">{{ $localize("shipping.title") }}</h1>
                                                                    </div>
                                                                    <edit-shipping-address-button class="snipcart__actions--link">
                                                                        {{ $localize("actions.edit") }}
                                                                    </edit-shipping-address-button>
                                                                </div>
                                                                
                                                                <div class="snipcart-shipping-address--readonly">
                                                                    <div class="snipcart-shipping-address__header--readonly">
                                                                        <h3 class="snipcart-shipping-address__subtitle">{{ $localize("shipping.shipping_to") }}</h3>
                                                                    </div>
                                                    
                                                                    <div class="snipcart-shipping-address__address-field snipcart-shipping-address__content snipcart-shipping-address__content--readonly snipcart__font--std">
                                                                        <strong class="snipcart__notice--with-icon snipcart__font--secondary snipcart__font--bold"><icon name="location"></icon>{{ formatAddress(shippingAddress) }}</strong>
                                                                    </div>
                                                                </div>
                                                                
                                                                <shipping-rates-list item-template="shipping-rates-list-item"></shipping-rates-list>
                                                    
                                                                <div class="snipcart-form__footer">
                                                                    <submit-button class="snipcart-cart-button--medium snipcart-cart-button--highlight snipcart__font--large">
                                                                        {{ $localize("payment.continue_to_payment") }}
                                                                    </submit-button>
                                                                </div>
                                                            </div>
                                                        </overridable>
                                                    </snipcart-form>

                                                    shipping-rates-list

                                                    Component that renders the list of available shipping methods.

                                                    Usage of shipping-rates-list

                                                    <shipping-rates-list tag="<string>" itemTemplate="<string>"> </shipping-rates-list>

                                                    • tag: string – Sets the root element tag, default is `ul`.

                                                    • itemTemplate: string – The item template to use, default is `shipping-rates-list-item`.

                                                    shipping-rates-list-item

                                                    Usage of shipping-rates-list-item

                                                    <shipping-rates-list-item rate="<ShippingRate>"> </shipping-rates-list-item>

                                                    • rate: ShippingRate – The shipping rate associated to the component instance.

                                                    Default Template

                                                    <li class="snipcart-shipping-rates-list-item snipcart__font--secondary snipcart__font--bold">
                                                        <span>
                                                            <snipcart-radio name="selectedRate" class="snipcart-shipping-rates-list-item__label--highlight">
                                                                {{ rate.description }}
                                                            </snipcart-radio>
                                                        </span>
                                                        <span class="snipcart-shipping-rates-list-item--right snipcart-shipping-rates-list-item__price snipcart__font--black">
                                                            {{ rate.cost | money(currency) }}
                                                        </span>
                                                    </li>

                                                    snipcart-address-autocomplete

                                                    Dropdown with autocomplete for addresses.

                                                    Usage of snipcart-address-autocomplete

                                                    <snipcart-address-autocomplete name="<string>" label="<string>" name="<string>" type="<string>"> </snipcart-address-autocomplete>

                                                    • name: string – Component name

                                                    • label: string – Component label

                                                    • name: string – Form element name.

                                                    • type: string – Form element type.

                                                    snipcart-checkbox

                                                    Checkbox form element.

                                                    Usage of snipcart-checkbox

                                                    <snipcart-checkbox type="<string>" name="<string>" type="<string>"> </snipcart-checkbox>

                                                    • type: string – Form element type.

                                                    • name: string – Form element name.

                                                    • type: string – Form element type.

                                                    snipcart-error-message

                                                    Displays the error message associated with the form field.

                                                    Usage of snipcart-error-message

                                                    <snipcart-error-message name="<string>" type="<string>"> </snipcart-error-message>

                                                    • name: string – Form element name.

                                                    • type: string – Form element type.

                                                    Default Template

                                                    <div class="snipcart-error-message snipcart__font--tiny">
                                                        {{ error }}
                                                    </div>

                                                    snipcart-form

                                                    Displays a form.

                                                    Usage of snipcart-form

                                                    <snipcart-form> </snipcart-form>

                                                      snipcart-input

                                                      Standard input (textbox) form element.

                                                      Usage of snipcart-input

                                                      <snipcart-input text="<string>" placeholder="<string>" name="<string>" type="<string>"> </snipcart-input>

                                                      • text: string – The initial value of the input.

                                                      • placeholder: string – The placeholder of the input.

                                                      • name: string – Form element name.

                                                      • type: string – Form element type.

                                                      snipcart-label

                                                      Label for a form field.

                                                      Usage of snipcart-label

                                                      <snipcart-label for="<string>"> </snipcart-label>

                                                      • for: string – The form field this label is linked to.

                                                      snipcart-radio

                                                      Radio button form element.

                                                      Usage of snipcart-radio

                                                      <snipcart-radio name="<string>" type="<string>"> </snipcart-radio>

                                                      • name: string – Form element name.

                                                      • type: string – Form element type.

                                                      snipcart-select

                                                      Usage of snipcart-select

                                                      <snipcart-select name="<string>" type="<string>"> </snipcart-select>

                                                      • name: string – Form element name.

                                                      • type: string – Form element type.

                                                      snipcart-typeahead

                                                      Typeahead (autocomplete) form element.

                                                      Usage of snipcart-typeahead

                                                      <snipcart-typeahead loading="<boolean>" label="<string>" results="<TypeaheadValue>" type="<string>" initialValue="<string>" showResults="<boolean>" reverse="<boolean>" display="<string>" icon="<string>" name="<string>" type="<string>"> </snipcart-typeahead>

                                                      • loading: boolean – Indicates if the component is performing an async operation and is loading.

                                                      • label: string – Label of the form field.

                                                      • results: TypeaheadValue – List of results to show in the dropdown options.

                                                      • type: string – Type of the form element.

                                                      • initialValue: string – The initial value of the form element.

                                                      • showResults: boolean

                                                      • reverse: boolean

                                                      • display: string

                                                      • icon: string

                                                      • name: string – Form element name.

                                                      • type: string – Form element type.

                                                      submit-button

                                                      Usage of submit-button

                                                      <submit-button> </submit-button>

                                                        textbox

                                                        Usage of textbox

                                                        <textbox value="<string>" id="<string>" icon="<string>" inputCssClasses="<any>"> </textbox>

                                                        tool-tip

                                                        Usage of tool-tip

                                                        <tool-tip> </tool-tip>