Skip to content

Basket Preview

The <basket-preview> webcomponent is used to render a dropdown containing a list of items currently in the basket.

Attributes

Attribute name Type Default Description
basket-url string '' Link to a basket products summary page
basket-delivery-payment-url string '' Link to delivery and payment page
is-with-value boolean false Decide whether a cart value or a Cart label should be displayed

Event Bus events

This webcomponent emits the following events with the Event Bus:

Example

<basket-preview is-with-value basket-url="/pl/basket" basket-delivery-payment-url="/pl/basket/step2">
</basket-preview>
<basket-preview is-with-value basket-url="/pl/basket" basket-delivery-payment-url="/pl/basket/step2">
    <h-dropdown name="basket-preview" direction="bottom-right">
        <h-dropdown-toggler
            name="basket-preview"
            class="dropdown__toggler"
            tabindex="0"
            role="button"
            aria-expanded="false"
        >
            <div class="labeled-icon">
                <div class="indicator" data-value="1">
                    <h-icon icon-name="icon-basket" css-classes="labeled-icon__icon">
                        <svg class="icon labeled-icon__icon">
                            <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-basket"></use>
                        </svg>
                    </h-icon>
                </div>
                <div class="labeled-icon__signature font_bold">
                    4,99 zł
                </div>
            </div>
        </h-dropdown-toggler>

        <h-portal hidden disabled to="dropdown-portal">
            <h-dropdown-content name="basket-preview" class="dropdown__content" role="menu">
                <div class="basket-preview" role="menuitem">
                    <header class="grid__row">
                        <div class="grid__col grid__col_xs-12 grid__col_sm-grow mb-xs-2">
                            <h2 class="section-title section-title_s">Produkty w koszyku</h2>
                        </div>
                        <div class="grid__col grid__col_xs-12 grid__col_sm-auto">
                            <button class="btn btn_outline btn_xs">
                                <h-icon icon-name="icon-trash" css-classes="btn__icon btn__icon_left">
                                    <svg class="icon btn__icon btn__icon_left">
                                        <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-trash"></use>
                                    </svg>
                                </h-icon>
                                Wyczyść
                            </button>
                        </div>
                    </header>

                    <basket-products-list .mode="basket">
                        <div class="basket-products__list">
                            <div class="basket-product">
                                <div class="basket-product__image">
                                    <a class="basket-product__image-border" href="/link/to/product">
                                        <img src="/link/to/image" alt="/alt/of/image">
                                    </a>
                                </div>
                                <div class="basket-product__wrapper">
                                    <div class="basket-product__content">
                                        <div class="basket-product__info">
                                            <div class="basket-product__name">
                                                <p>
                                                    <a class="basket-product__link" href="/link/to/product">Banany</a>
                                                </p>
                                                <button class="btn btn_ghost btn_xs visible-xs-only">
                                                    <h-icon icon-name="icon-trash" css-classes="btn__icon btn__icon_left">
                                                        <svg class="icon btn__icon btn__icon_left">
                                                            <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-trash"></use>
                                                        </svg>
                                                    </h-icon>
                                                    Usuń
                                                </button>
                                            </div>
                                            <div class="basket-product__actions">
                                                <h-input-stepper
                                                    class="input-stepper"
                                                    product-id="product-id"
                                                    allowed-number-of-fraction-digits="3"
                                                    min="0.01"
                                                    step="1"
                                                    round-to="0"
                                                    value="1"
                                                    control-id="control-id"
                                                    max="Infinity"
                                                >
                                                    <h-button-stepper
                                                        class="input-stepper__button"
                                                        type="decrement"
                                                        tabindex="0"
                                                        role="button"
                                                        aria-label="Usuń"
                                                    >
                                                        <span class="btn-icon btn-icon_outline btn-icon_join-right input-stepper__icon">
                                                            <h-icon
                                                                icon-name="icon-minus"
                                                                role="button"
                                                                size="xs"
                                                                clickable
                                                                aria-label="Minus icon"
                                                                css-classes="btn__icon"
                                                            >
                                                                <svg class="icon undefined icon_clickable btn__icon">
                                                                    <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-minus"></use>
                                                                </svg>
                                                            </h-icon>
                                                        </span>
                                                    </h-button-stepper>
                                                    <div class="input-stepper__display-container">
                                                        <h-display-stepper class="input-stepper__value" aria-label="Ilość">
                                                            <input
                                                                type="text"
                                                                inputmode="numeric"
                                                                class="input-stepper__value_input"
                                                                aria-label="Ilość"
                                                                id="input-id"
                                                            >
                                                        </h-display-stepper>
                                                        <span class="input-stepper__additional-content">kg</span>
                                                    </div>
                                                    <h-button-stepper
                                                        class="input-stepper__button input-stepper_increment"
                                                        type="increment"
                                                        tabindex="0"
                                                        role="button"
                                                        aria-label="Dodaj"
                                                    >
                                                        <span class="btn-icon btn-icon_outline btn-icon_join-left input-stepper__icon">
                                                            <h-icon
                                                                icon-name="icon-plus"
                                                                role="button"
                                                                size="xs"
                                                                clickable
                                                                aria-label="Plus icon"
                                                                css-classes="btn__icon"
                                                            >
                                                                <svg class="icon undefined icon_clickable btn__icon">
                                                                    <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-plus"></use>
                                                                </svg>
                                                            </h-icon>
                                                        </span>
                                                    </h-button-stepper>
                                                </h-input-stepper>
                                                <button class="btn btn_ghost btn_xs hidden-xs-only">
                                                    <h-icon icon-name="icon-trash" css-classes="btn__icon btn__icon_left">
                                                        <svg class="icon btn__icon btn__icon_left">
                                                            <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-trash"></use>
                                                        </svg>
                                                    </h-icon>
                                                    Usuń
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="basket-product__prices">
                                        <div class="price basket-product__price">
                                            <span class="price__value price__value_bold">4,99&nbsp;</span>
                                            <span class="vat-info">z 23% VAT</span>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <confirm-modal
                            title="Czy na pewno chcesz usunąć produkt z koszyka?"
                            confirmtext="Usuń produkt"
                            canceltext="Anuluj"
                        >
                        </confirm-modal>
                    </basket-products-list>

                    <basket-summary url="/pl/basket/step2" basket-url="/pl/basket">
                        <basket-summary-basket-footer basket-url="/pl/basket" url="/pl/basket/step2">
                            <div class="basket-module__content basket-module__content_secondary">
                                <footer class="basket-summary__footer">
                                    <ul class="price-list">
                                        <li class="price-list__item">
                                            <span class="price-list__label">Suma</span>
                                            <span class="price-list__value price price_m">
                                                <span class="p price__value">
                                                    <strong class="p_l font_semibold price__value_special">
                                                        3,84 zł
                                                    </strong>
                                                </span>
                                                <br>
                                                <span class="p_s color_tertiary">
                                                    Zawiera VAT
                                                </span>
                                            </span>
                                        </li>
                                    </ul>

                                    <p>
                                        <a class="btn btn_primary btn_full-width" href="/pl/basket/step2">
                                            <h-icon icon-name="icon-truck" css-classes="btn__icon btn__icon_left">
                                                <svg class="icon btn__icon btn__icon_left">
                                                    <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-truck"></use>
                                                </svg>
                                            </h-icon>

                                            Dostawa i płatność
                                        </a>
                                    </p>

                                    <p>
                                        <a class="btn btn_outline btn_full-width" href="/pl/basket">
                                            Zobacz produkty w koszyku
                                        </a>
                                    </p>

                                    <small>Koszt dostawy w następnym kroku.</small>
                                </footer>
                            </div>
                        </basket-summary-basket-footer>
                    </basket-summary>
                </div>

                <div role="menuitem"></div>
            </h-dropdown-content>
        </h-portal>
    </h-dropdown>
</basket-preview>  

Webcomponents reference

Styles reference