Skip to content

Shipping Address Modal

The <shipping-address-modal> webcomponent is used to render a modal containing a shipping address of a customer.

Attributes

Attribute name Type Default Description
address Address null The address of a user that should be used to fill the default values of a form inside the modal

API

API of a <shipping-address-modal> is basically the same as this of a h-modal webcomponent. The only difference is that the open method of this webcomponent dispatches the shippingAddressModal.opened event with the Event Bus.

open(): void

Opens modal and dispatches the shippingAddressModal.opened event.

const shippingAddressModal = document.querySelector('shipping-address-modal');
shippingAddressModal.open();

Event Bus events

This webcomponent emits the following events with the Event Bus:

Example

<shipping-address-modal></shipping-address-modal>
<shipping-address-modal>
    <h-modal hidden>
        <h-portal hidden disabled to="modals">
            <div class="modal-wrapper">
                <div tabindex="0"></div>
                <div class="modal" role="dialog">
                    <div class="modal__container">
                        <h-modal-header class="modal__header">
                            <b class="font_semibold">Dane do zamówienia</b>
                            <h-modal-close class="btn btn_icon" tabindex="0" role="button">
                                <h-icon icon-name="icon-x" role="button" size="xl" clickable>
                                    <svg class="icon icon_xl icon_clickable">
                                        <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-x"></use>
                                    </svg>
                                </h-icon>
                            </h-modal-close>
                        </h-modal-header>
                        <h-modal-body class="modal__body">
                            <shipping-address-form>
                                <reactive-form>
                                    <form id="form-de50be63-16bd-4c28-9b50-7629d96507aa" novalidate>
                                        <control-connector class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="first-name-34d9fc05-6605-485a-b053-18889ae44090">ImiÄ™</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="firstname" controlid="first-name-34d9fc05-6605-485a-b053-18889ae44090" class="input">
                                                            <h-input-control class="input__control">
                                                                <input id="first-name-34d9fc05-6605-485a-b053-18889ae44090" name="firstname" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="last-name-4dd9d0c8-afa7-4fde-9a32-505af04ee693">Nazwisko</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="lastname" controlid="last-name-4dd9d0c8-afa7-4fde-9a32-505af04ee693" class="input">
                                                            <h-input-control class="input__control">
                                                                <input id="last-name-4dd9d0c8-afa7-4fde-9a32-505af04ee693" name="lastname" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label" for="company-name-02056286-0ec9-4d19-8b59-5b52aefd5eed">Nazwa firmy</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="companyName" controlid="company-name-02056286-0ec9-4d19-8b59-5b52aefd5eed" class="input">
                                                            <h-input-control class="input__control">
                                                                <input id="company-name-02056286-0ec9-4d19-8b59-5b52aefd5eed" name="companyName" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="phone-1a9c0c5a-4044-454f-8c80-cef00ed69e53">Numer telefonu</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="phone" controlid="phone-1a9c0c5a-4044-454f-8c80-cef00ed69e53" class="input">
                                                            <h-input-control type="tel" class="input__control">
                                                                <input id="phone-1a9c0c5a-4044-454f-8c80-cef00ed69e53" name="phone" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="country-907fc6e0-941b-45ea-9e93-529f2d8cbbc9">Kraj</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <shipping-address-country-select>
                                                            <h-select class="select select_with-search" control-name="countryId" control-id="country-7e708929-c162-4589-9846-207e8ee1abc3">
                                                                <h-dropdown content-width="full" name="countryId" offset="2" direction="bottom-center">
                                                                    <h-dropdown-toggler class="dropdown__toggler" name="countryId" tabindex="0" role="button" aria-expanded="false">
                                                                        <h-select-toggler class="select-toggler" role="textbox" slot="toggler">
                                                                            <span class="select-toggler__placeholder">Wybierz</span>
                                                                            <h-icon icon-name="icon-chevron-down">
                                                                                <svg class="icon">
                                                                                    <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-chevron-down"></use>
                                                                                </svg>
                                                                            </h-icon>
                                                                        </h-select-toggler>
                                                                    </h-dropdown-toggler>
                                                                    <h-portal hidden disabled to="dropdown-portal">
                                                                        <h-dropdown-content class="select__content dropdown__content" name="countryId" role="menu">
                                                                            <h-select-close-btn class="select__close-mobile-btn" role="menuitem" aria-label="close select" tabindex="0">
                                                                                <h-icon icon-name="icon-x" size="l">
                                                                                    <svg class="icon icon_l">
                                                                                        <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-x"></use>
                                                                                    </svg>
                                                                                </h-icon>
                                                                            </h-select-close-btn>
                                                                            <div class="select__label" role="menuitem">
                                                                                <span class="select-toggler__placeholder">Wybierz</span>
                                                                            </div>
                                                                            <h-select-search class="select__search select-search" role="menuitem" value="">
                                                                                <h-icon icon-name="icon-search" class="select-search__icon">
                                                                                    <svg class="icon">
                                                                                        <use xlink:href="/assets/img/icons/symbol-defs.svg#icon-search"></use>
                                                                                    </svg>
                                                                                </h-icon>
                                                                                <input type="text" role="search" aria-autocomplete="list" autocomplete="false" placeholder="Szukaj" class="select-search__input">
                                                                            </h-select-search>
                                                                            <h-options role="menuitem" tabindex="0" class="select__options">
                                                                                <h-option value="62" tabindex="-1" role="option" class="select-option">
                                                                                    <h-option-content class="select-option__content">Algieria</h-option-content>
                                                                                </h-option>
                                                                            </h-options>
                                                                            <div role="menuitem"></div>
                                                                        </h-dropdown-content>
                                                                    </h-portal>
                                                                </h-dropdown>
                                                            </h-select>
                                                        </shipping-address-country-select>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="street-a254a83f-0574-480c-93f1-eafe2c453c39">Ulica, numer budynku i lokalu</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="street" controlid="street-a254a83f-0574-480c-93f1-eafe2c453c39" class="input">
                                                            <h-input-control class="input__control">
                                                                <input id="street-a254a83f-0574-480c-93f1-eafe2c453c39" name="street" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="postal-code-63577fde-0677-4848-8419-6d965effd454">Kod pocztowy</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element control__element_half">
                                                        <h-input controlname="postalCode" controlid="postal-code-63577fde-0677-4848-8419-6d965effd454" class="input">
                                                            <h-input-control mask="__-___" pattern="^(\d{2})(-)(\d{3})$" valid-pattern="00-000" class="input__control">
                                                                <input id="postal-code-63577fde-0677-4848-8419-6d965effd454" name="postalCode" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                        <control-connector required class="control">
                                            <h-control class="control">
                                                <h-control-label class="control__label">
                                                    <label class="label label_required" for="city-375bca1b-de81-4154-a1fd-8eb51805ac78">Miasto</label>
                                                </h-control-label>
                                                <h-control-content class="control control__content">
                                                    <h-control-element class="control__element">
                                                        <h-input controlname="city" controlid="city-375bca1b-de81-4154-a1fd-8eb51805ac78" class="input">
                                                            <h-input-control class="input__control">
                                                                <input id="city-375bca1b-de81-4154-a1fd-8eb51805ac78" name="city" type="text">
                                                            </h-input-control>
                                                        </h-input>
                                                    </h-control-element>
                                                    <control-errors></control-errors>
                                                </h-control-content>
                                            </h-control>
                                        </control-connector>
                                    </form>
                                </reactive-form>
                            </shipping-address-form>
                        </h-modal-body>
                        <h-modal-footer class="modal__footer">
                            <button class="btn btn_secondary">
                                Anuluj
                            </button>
                            <button class="btn btn_primary">
                                Zapisz dane
                            </button>
                        </h-modal-footer>
                    </div>
                </div>
                <div tabindex="0"></div>
            </div>
        </h-portal>
    </h-modal>
</shipping-address-modal>