ctt-babylon 0.9.17 → 0.9.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/Enum/buttons-type.enum.mjs +6 -0
- package/esm2022/lib/Enum/index.mjs +3 -0
- package/esm2022/lib/Enum/logo-type.enum.mjs +10 -0
- package/esm2022/lib/Enum/services.enum.mjs +8 -0
- package/esm2022/lib/Enum/views.enum.mjs +5 -0
- package/esm2022/lib/components/core/babylon-404/babylon-404.component.mjs +18 -5
- package/esm2022/lib/components/core/babylon-404/babylon-404.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-404/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.component.mjs +30 -0
- package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-action-banner/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-advantages/babylon-advantages-info.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.component.mjs +29 -5
- package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-advantages/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-advantages-v2/babylon-advantages-v2.component.mjs +9 -5
- package/esm2022/lib/components/core/babylon-advantages-v2/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-av-c4-img-text/babylon-av-c4-img-text.component.mjs +19 -0
- package/esm2022/lib/components/core/babylon-av-c4-img-text/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.mjs +31 -5
- package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-banner-gallery/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.component.mjs +133 -6
- package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-banner-info/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.mjs +39 -5
- package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-banner-newsletter/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.component.mjs +98 -5
- package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-blog-details/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.component.mjs +80 -6
- package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-blog-list/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.mjs +14 -5
- package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-breadcrumb/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-color-picker/babylon-color-picker.component.mjs +267 -0
- package/esm2022/lib/components/core/babylon-color-picker/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.mjs +10 -5
- package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-comingsoon/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.component.mjs +19 -0
- package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-contact-address/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.component.mjs +134 -20
- package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-contact-form/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.component.mjs +23 -6
- package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-contact-how/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.component.mjs +29 -6
- package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-contact-map/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.mjs +5 -3
- package/esm2022/lib/components/core/babylon-container-text-l2/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-engine/babylon-engine.component.mjs +246 -22
- package/esm2022/lib/components/core/babylon-engine/babylon-engine.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-engine/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.mjs +225 -33
- package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-engine-modal/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.component.mjs +80 -0
- package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-external-script/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-faq/babylon-faq.component.mjs +38 -5
- package/esm2022/lib/components/core/babylon-faq/babylon-faq.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-faq/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.mjs +18 -5
- package/esm2022/lib/components/core/babylon-faq-v2/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.mjs +9 -5
- package/esm2022/lib/components/core/babylon-feature-pills-number/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.component.mjs +28 -6
- package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-features-slider/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.mjs +16 -6
- package/esm2022/lib/components/core/babylon-filter-modal/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.mjs +121 -0
- package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-floating-buttons/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.mjs +25 -5
- package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-footer-contact/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.component.mjs +13 -5
- package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-footer-links/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.mjs +23 -5
- package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-footer-logos/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.component.mjs +14 -5
- package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.interface.mjs +3 -0
- package/esm2022/lib/components/core/babylon-footer-social/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.component.mjs +72 -23
- package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-gallery/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.component.mjs +38 -0
- package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-global-modal/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.mjs +42 -6
- package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-grid-gallery/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.mjs +91 -7
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-guests-popup/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.component.mjs +24 -5
- package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-head-intro/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.mjs +114 -52
- package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-book-show/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.component.mjs +143 -53
- package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-clear/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.mjs +148 -52
- package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-menu-center/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.mjs +122 -0
- package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-menu-logo-center/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.mjs +92 -52
- package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-menu-show/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.mjs +156 -0
- package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-header-mobile/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotel.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.mjs +12 -5
- package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-hotels-list/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.mjs +19 -6
- package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-hotels-slider/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.component.mjs +19 -5
- package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-big/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.mjs +9 -5
- package/esm2022/lib/components/core/babylon-info-big-v3/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.component.mjs +31 -7
- package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.interface.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-grid/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.component.mjs +95 -5
- package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-img/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.mjs +56 -0
- package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-img-slider/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.component.mjs +62 -5
- package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-intro/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.mjs +7 -5
- package/esm2022/lib/components/core/babylon-info-show-img/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.mjs +31 -5
- package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-zig-zag/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.mjs +92 -0
- package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-zig-zag-counter/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.mjs +19 -5
- package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info-zigzag-v2/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.mjs +36 -0
- package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info2col-img/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.component.mjs +30 -5
- package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info2img/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.mjs +38 -5
- package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info2img-big/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-info3img/babylon-info3img.component.mjs +19 -5
- package/esm2022/lib/components/core/babylon-info3img/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.component.mjs +23 -5
- package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-info4img/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.component.mjs +21 -5
- package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-items-grid/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.component.mjs +13 -7
- package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-language-modal/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-legal/babylon-legal.component.mjs +19 -5
- package/esm2022/lib/components/core/babylon-legal/babylon-legal.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-legal/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.mjs +12 -5
- package/esm2022/lib/components/core/babylon-list-c3-img-txt/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.component.mjs +15 -5
- package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.interface.mjs +3 -0
- package/esm2022/lib/components/core/babylon-list-grid/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.mjs +139 -0
- package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.mjs +46 -0
- package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-modal-multiple-motors/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.mjs +39 -0
- package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-modal-popup/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.component.mjs +52 -9
- package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.interface.mjs +3 -0
- package/esm2022/lib/components/core/babylon-newsletter/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.mjs +37 -5
- package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offer-detail/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.mjs +34 -11
- package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offer-popup/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.mjs +49 -0
- package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offer-popupV2/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.mjs +20 -5
- package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offer-slider/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.component.mjs +47 -5
- package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-offers-list/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.mjs +20 -5
- package/esm2022/lib/components/core/babylon-offers-slider/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-preload/babylon-preload.component.mjs +28 -4
- package/esm2022/lib/components/core/babylon-preload/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.component.mjs +27 -0
- package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-press-list/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-room-details/babylon-room-detail.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-room-details/babylon-room-details.component.mjs +19 -5
- package/esm2022/lib/components/core/babylon-room-details/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.mjs +158 -5
- package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-cols/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.mjs +19 -6
- package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-grid/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.mjs +32 -6
- package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-list/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-rooms-slider/babylon-room.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.mjs +25 -5
- package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-rooms-slider/index.mjs +5 -0
- package/esm2022/lib/components/core/babylon-services-slider/babylon-service-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-services-slider/babylon-services-slider.component.mjs +17 -5
- package/esm2022/lib/components/core/babylon-services-slider/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-sli-c1-img-text/babylon-sli-c1-img-text.component.mjs +12 -0
- package/esm2022/lib/components/core/babylon-sli-c1-img-text/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-sli-c5-img-txt/babylon-sli-c5-img-txt.component.mjs +13 -0
- package/esm2022/lib/components/core/babylon-sli-c5-img-txt/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +12 -5
- package/esm2022/lib/components/core/babylon-slider-img-static/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.mjs +12 -5
- package/esm2022/lib/components/core/babylon-slider-img-static-v2/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.mjs +24 -4
- package/esm2022/lib/components/core/babylon-slider-img-video/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider2col/babylon-slider2col.component.mjs +28 -5
- package/esm2022/lib/components/core/babylon-slider2col/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.component.mjs +15 -5
- package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider2items/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3col.component.mjs +59 -0
- package/esm2022/lib/components/core/babylon-slider3col/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.mjs +11 -0
- package/esm2022/lib/components/core/babylon-slider3col-clear/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.component.mjs +14 -5
- package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-slider3items/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-slider4col/babylon-slider4col.component.mjs +37 -5
- package/esm2022/lib/components/core/babylon-slider4col/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-social-bar/babylon-social-bar.component.mjs +14 -5
- package/esm2022/lib/components/core/babylon-social-bar/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.component.mjs +104 -6
- package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-static-footer/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.mjs +48 -8
- package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-static-footer-v2/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.mjs +35 -5
- package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-submenu-hotel/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.component.mjs +18 -5
- package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-thanks/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +12 -6
- package/esm2022/lib/components/core/babylon-top-simple-banner/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +189 -5
- package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.mjs +33 -6
- package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider-thumbs/index.mjs +3 -0
- package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.mjs +22 -5
- package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider-v2/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.mjs +194 -5
- package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-top-slider-video/index.mjs +4 -0
- package/esm2022/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.mjs +7 -5
- package/esm2022/lib/components/core/babylon-top-slider-video-v2/index.mjs +2 -0
- package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.component.mjs +23 -5
- package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.interface.mjs +2 -0
- package/esm2022/lib/components/core/babylon-webmap/index.mjs +3 -0
- package/esm2022/lib/components/core/index.mjs +104 -0
- package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.mjs +130 -0
- package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.mjs +2 -0
- package/esm2022/lib/components/shared/babylon-dynamic-heading/index.mjs +3 -0
- package/esm2022/lib/components/shared/babylon-search/babylon-search.component.mjs +82 -0
- package/esm2022/lib/components/shared/babylon-search/index.mjs +2 -0
- package/esm2022/lib/components/shared/index.mjs +2 -0
- package/esm2022/lib/directives/babylon-background-strip/babylon-background-strip.directive.mjs +71 -0
- package/esm2022/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.mjs +52 -0
- package/esm2022/lib/directives/babylon-galleries/babylon-light-gallery.directive.mjs +107 -0
- package/esm2022/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.mjs +60 -0
- package/esm2022/lib/directives/babylon-pagination/babylon-pagination.directive.mjs +127 -0
- package/esm2022/lib/directives/babylon-sliders/babylon-custom-slider.directive.mjs +62 -0
- package/esm2022/lib/directives/babylon-sliders/babylon-hotels-slider.directive.mjs +107 -0
- package/esm2022/lib/directives/babylon-sliders/babylon-sliders.directive.mjs +438 -0
- package/esm2022/lib/directives/babylon-sliders/babylon-swiper-slider.directive.mjs +109 -0
- package/esm2022/lib/directives/babylon-sliders/babylon-swiper.directive.mjs +125 -0
- package/esm2022/lib/directives/data-background/data-background.directive.mjs +37 -0
- package/esm2022/lib/directives/link-type/link-type.directive.mjs +288 -0
- package/esm2022/lib/directives/scrolls/scroll-to.directive.mjs +195 -0
- package/esm2022/lib/directives/scrolls/scroll-up.directive.mjs +27 -0
- package/esm2022/lib/directives/scrolls/show-only-top.directive.mjs +110 -0
- package/esm2022/lib/directives/sliders/slick-init.directive.mjs +38 -11
- package/esm2022/lib/directives/utils/sticky-avoid-footer.directive.mjs +9 -3
- package/esm2022/lib/interfaces/babylon-advantages-item.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-button.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-consult-type.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-dropdown.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-equipments-item.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-global-icon.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-global.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-icon.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-image.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-input.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-item.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-menu-button.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-menu-info.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-multimedia.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-page-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-site-config.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-tags.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-text-info.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-texts-colors.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-texts.interface.mjs +2 -0
- package/esm2022/lib/interfaces/babylon-video.interface.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +16 -0
- package/esm2022/lib/pipes/babylon-clean-phone.pipe.mjs +14 -0
- package/esm2022/lib/pipes/babylon-currency.pipe.mjs +29 -0
- package/esm2022/lib/services/color-panel.service.mjs +316 -0
- package/esm2022/lib/services/engine-state.service.mjs +24 -0
- package/esm2022/lib/services/index.mjs +3 -1
- package/esm2022/lib/services/mapper/index.mjs +3 -0
- package/esm2022/lib/services/mapper/mapper.service.mjs +2665 -0
- package/esm2022/lib/services/mapper/mapper.service.token.mjs +3 -0
- package/esm2022/lib/services/modals-service/index.mjs +2 -0
- package/esm2022/lib/services/modals-service/modals.service.mjs +77 -0
- package/esm2022/lib/services/screen-sizer/screen-sizer.service.mjs +46 -35
- package/esm2022/lib/utils/complex-links.token.mjs +6 -0
- package/esm2022/lib/utils/index.mjs +2 -0
- package/esm2022/lib/utils/utils.mjs +153 -0
- package/esm2022/public-api.mjs +11 -117
- package/fesm2022/ctt-babylon.mjs +10555 -2624
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/Enum/buttons-type.enum.d.ts +4 -0
- package/lib/Enum/index.d.ts +2 -0
- package/lib/Enum/logo-type.enum.d.ts +8 -0
- package/lib/Enum/services.enum.d.ts +6 -0
- package/lib/Enum/views.enum.d.ts +3 -0
- package/lib/components/core/babylon-404/babylon-404.component.d.ts +8 -1
- package/lib/components/core/babylon-404/babylon-404.interface.d.ts +9 -0
- package/lib/components/core/babylon-404/index.d.ts +2 -0
- package/lib/components/core/babylon-action-banner/babylon-action-banner.component.d.ts +14 -0
- package/lib/components/core/babylon-action-banner/babylon-action-banner.interface.d.ts +9 -0
- package/lib/components/core/babylon-action-banner/index.d.ts +2 -0
- package/lib/components/core/babylon-advantages/babylon-advantages-info.interface.d.ts +5 -0
- package/lib/components/core/babylon-advantages/babylon-advantages.component.d.ts +14 -1
- package/lib/components/core/babylon-advantages/babylon-advantages.interface.d.ts +13 -0
- package/lib/components/core/babylon-advantages/index.d.ts +3 -0
- package/lib/components/core/babylon-advantages-v2/babylon-advantages-v2.component.d.ts +5 -1
- package/lib/components/core/babylon-advantages-v2/index.d.ts +1 -0
- package/lib/components/core/babylon-av-c4-img-text/babylon-av-c4-img-text.component.d.ts +9 -0
- package/lib/components/core/babylon-av-c4-img-text/index.d.ts +1 -0
- package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.d.ts +11 -1
- package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.d.ts +9 -0
- package/lib/components/core/babylon-banner-gallery/index.d.ts +2 -0
- package/lib/components/core/babylon-banner-info/babylon-banner-info.component.d.ts +25 -2
- package/lib/components/core/babylon-banner-info/babylon-banner-info.interface.d.ts +10 -0
- package/lib/components/core/babylon-banner-info/index.d.ts +2 -0
- package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.d.ts +16 -1
- package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.d.ts +9 -0
- package/lib/components/core/babylon-banner-newsletter/index.d.ts +2 -0
- package/lib/components/core/babylon-blog-details/babylon-blog-details.component.d.ts +39 -1
- package/lib/components/core/babylon-blog-details/babylon-blog-details.interface.d.ts +24 -0
- package/lib/components/core/babylon-blog-details/index.d.ts +2 -0
- package/lib/components/core/babylon-blog-list/babylon-blog-list.component.d.ts +47 -2
- package/lib/components/core/babylon-blog-list/babylon-blog-list.interface.d.ts +18 -0
- package/lib/components/core/babylon-blog-list/index.d.ts +2 -0
- package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.d.ts +4 -1
- package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.d.ts +4 -0
- package/lib/components/core/babylon-breadcrumb/index.d.ts +2 -0
- package/lib/components/core/babylon-color-picker/babylon-color-picker.component.d.ts +57 -0
- package/lib/components/core/babylon-color-picker/index.d.ts +1 -0
- package/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.d.ts +12 -1
- package/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.d.ts +11 -0
- package/lib/components/core/babylon-comingsoon/index.d.ts +2 -0
- package/lib/components/core/babylon-contact-address/babylon-contact-address.component.d.ts +22 -0
- package/lib/components/core/babylon-contact-address/babylon-contact-address.interface.d.ts +4 -0
- package/lib/components/core/babylon-contact-address/index.d.ts +2 -0
- package/lib/components/core/babylon-contact-form/babylon-contact-form.component.d.ts +35 -6
- package/lib/components/core/babylon-contact-form/babylon-contact-form.interface.d.ts +15 -0
- package/lib/components/core/babylon-contact-form/index.d.ts +2 -0
- package/lib/components/core/babylon-contact-how/babylon-contact-how.component.d.ts +14 -2
- package/lib/components/core/babylon-contact-how/babylon-contact-how.interface.d.ts +6 -0
- package/lib/components/core/babylon-contact-how/index.d.ts +2 -0
- package/lib/components/core/babylon-contact-map/babylon-contact-map.component.d.ts +16 -2
- package/lib/components/core/babylon-contact-map/babylon-contact-map.interface.d.ts +8 -0
- package/lib/components/core/babylon-contact-map/index.d.ts +2 -0
- package/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.d.ts +3 -1
- package/lib/components/core/babylon-container-text-l2/index.d.ts +1 -0
- package/lib/components/core/babylon-engine/babylon-engine.component.d.ts +73 -11
- package/lib/components/core/babylon-engine/babylon-engine.interface.d.ts +24 -0
- package/lib/components/core/babylon-engine/index.d.ts +2 -0
- package/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.d.ts +60 -16
- package/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.d.ts +22 -0
- package/lib/components/core/babylon-engine-modal/index.d.ts +2 -0
- package/lib/components/core/babylon-external-script/babylon-external-script.component.d.ts +21 -0
- package/lib/components/core/babylon-external-script/babylon-external-script.interface.d.ts +5 -0
- package/lib/components/core/babylon-external-script/index.d.ts +2 -0
- package/lib/components/core/babylon-faq/babylon-faq.component.d.ts +12 -1
- package/lib/components/core/babylon-faq/babylon-faq.interface.d.ts +8 -0
- package/lib/components/core/babylon-faq/index.d.ts +2 -0
- package/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.d.ts +10 -1
- package/lib/components/core/babylon-faq-v2/index.d.ts +1 -0
- package/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.d.ts +4 -1
- package/lib/components/core/babylon-feature-pills-number/index.d.ts +1 -0
- package/lib/components/core/babylon-features-slider/babylon-features-slider.component.d.ts +18 -2
- package/lib/components/core/babylon-features-slider/babylon-features-slider.interface.d.ts +8 -0
- package/lib/components/core/babylon-features-slider/index.d.ts +2 -0
- package/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.d.ts +8 -3
- package/lib/components/core/babylon-filter-modal/index.d.ts +1 -0
- package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.d.ts +39 -0
- package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.d.ts +8 -0
- package/lib/components/core/babylon-floating-buttons/index.d.ts +2 -0
- package/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.d.ts +24 -1
- package/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.d.ts +14 -0
- package/lib/components/core/babylon-footer-contact/index.d.ts +2 -0
- package/lib/components/core/babylon-footer-links/babylon-footer-links.component.d.ts +5 -1
- package/lib/components/core/babylon-footer-links/babylon-footer-links.interface.d.ts +6 -0
- package/lib/components/core/babylon-footer-links/index.d.ts +2 -0
- package/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.d.ts +11 -1
- package/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.d.ts +7 -0
- package/lib/components/core/babylon-footer-logos/index.d.ts +2 -0
- package/lib/components/core/babylon-footer-social/babylon-footer-social.component.d.ts +5 -1
- package/lib/components/core/babylon-footer-social/babylon-footer-social.interface.d.ts +6 -0
- package/lib/components/core/babylon-footer-social/index.d.ts +2 -0
- package/lib/components/core/babylon-gallery/babylon-gallery.component.d.ts +34 -8
- package/lib/components/core/babylon-gallery/babylon-gallery.interface.d.ts +12 -0
- package/lib/components/core/babylon-gallery/index.d.ts +2 -0
- package/lib/components/core/babylon-global-modal/babylon-global-modal.component.d.ts +31 -0
- package/lib/components/core/babylon-global-modal/babylon-global-modal.interface.d.ts +8 -0
- package/lib/components/core/babylon-global-modal/index.d.ts +2 -0
- package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.d.ts +19 -2
- package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.d.ts +8 -0
- package/lib/components/core/babylon-grid-gallery/index.d.ts +2 -0
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.d.ts +24 -7
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +11 -0
- package/lib/components/core/babylon-guests-popup/index.d.ts +2 -0
- package/lib/components/core/babylon-head-intro/babylon-head-intro.component.d.ts +9 -1
- package/lib/components/core/babylon-head-intro/babylon-head-intro.interface.d.ts +10 -0
- package/lib/components/core/babylon-head-intro/index.d.ts +2 -0
- package/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.d.ts +35 -7
- package/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.d.ts +20 -0
- package/lib/components/core/babylon-header-book-show/index.d.ts +2 -0
- package/lib/components/core/babylon-header-clear/babylon-header-clear.component.d.ts +34 -9
- package/lib/components/core/babylon-header-clear/babylon-header-clear.interface.d.ts +22 -0
- package/lib/components/core/babylon-header-clear/index.d.ts +2 -0
- package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.d.ts +33 -8
- package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.d.ts +19 -0
- package/lib/components/core/babylon-header-menu-center/index.d.ts +2 -0
- package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.d.ts +40 -0
- package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.d.ts +23 -0
- package/lib/components/core/babylon-header-menu-logo-center/index.d.ts +2 -0
- package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.d.ts +29 -8
- package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.d.ts +18 -0
- package/lib/components/core/babylon-header-menu-show/index.d.ts +2 -0
- package/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.d.ts +53 -0
- package/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.d.ts +26 -0
- package/lib/components/core/babylon-header-mobile/index.d.ts +2 -0
- package/lib/components/core/babylon-hotels-list/babylon-hotel.interface.d.ts +18 -0
- package/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.d.ts +5 -1
- package/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.d.ts +6 -0
- package/lib/components/core/babylon-hotels-list/index.d.ts +3 -0
- package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.d.ts +5 -1
- package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.d.ts +6 -0
- package/lib/components/core/babylon-hotels-slider/index.d.ts +2 -0
- package/lib/components/core/babylon-info-big/babylon-info-big.component.d.ts +9 -1
- package/lib/components/core/babylon-info-big/babylon-info-big.interface.d.ts +10 -0
- package/lib/components/core/babylon-info-big/index.d.ts +2 -0
- package/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.d.ts +5 -1
- package/lib/components/core/babylon-info-big-v3/index.d.ts +1 -0
- package/lib/components/core/babylon-info-grid/babylon-info-grid.component.d.ts +22 -3
- package/lib/components/core/babylon-info-grid/babylon-info-grid.interface.d.ts +9 -0
- package/lib/components/core/babylon-info-grid/index.d.ts +2 -0
- package/lib/components/core/babylon-info-img/babylon-info-img.component.d.ts +40 -2
- package/lib/components/core/babylon-info-img/babylon-info-img.interface.d.ts +27 -0
- package/lib/components/core/babylon-info-img/index.d.ts +2 -0
- package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.d.ts +33 -0
- package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.d.ts +11 -0
- package/lib/components/core/babylon-info-img-slider/index.d.ts +2 -0
- package/lib/components/core/babylon-info-intro/babylon-info-intro.component.d.ts +26 -1
- package/lib/components/core/babylon-info-intro/babylon-info-intro.interface.d.ts +19 -0
- package/lib/components/core/babylon-info-intro/index.d.ts +2 -0
- package/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.d.ts +3 -1
- package/lib/components/core/babylon-info-show-img/index.d.ts +1 -0
- package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.d.ts +29 -1
- package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.d.ts +12 -0
- package/lib/components/core/babylon-info-zig-zag/index.d.ts +2 -0
- package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.d.ts +47 -0
- package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.d.ts +14 -0
- package/lib/components/core/babylon-info-zig-zag-counter/index.d.ts +2 -0
- package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.d.ts +16 -1
- package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.d.ts +5 -0
- package/lib/components/core/babylon-info-zigzag-v2/index.d.ts +2 -0
- package/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.d.ts +21 -0
- package/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.d.ts +12 -0
- package/lib/components/core/babylon-info2col-img/index.d.ts +2 -0
- package/lib/components/core/babylon-info2img/babylon-info2img.component.d.ts +14 -1
- package/lib/components/core/babylon-info2img/babylon-info2img.interface.d.ts +11 -0
- package/lib/components/core/babylon-info2img/index.d.ts +2 -0
- package/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.d.ts +16 -1
- package/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.d.ts +14 -0
- package/lib/components/core/babylon-info2img-big/index.d.ts +2 -0
- package/lib/components/core/babylon-info3img/babylon-info3img.component.d.ts +9 -1
- package/lib/components/core/babylon-info3img/index.d.ts +1 -0
- package/lib/components/core/babylon-info4img/babylon-info4img.component.d.ts +11 -1
- package/lib/components/core/babylon-info4img/babylon-info4img.interface.d.ts +12 -0
- package/lib/components/core/babylon-info4img/index.d.ts +2 -0
- package/lib/components/core/babylon-items-grid/babylon-items-grid.component.d.ts +14 -1
- package/lib/components/core/babylon-items-grid/babylon-items-grid.interface.d.ts +8 -0
- package/lib/components/core/babylon-items-grid/index.d.ts +2 -0
- package/lib/components/core/babylon-language-modal/babylon-language-modal.component.d.ts +12 -5
- package/lib/components/core/babylon-language-modal/babylon-language-modal.interface.d.ts +7 -0
- package/lib/components/core/babylon-language-modal/index.d.ts +2 -0
- package/lib/components/core/babylon-legal/babylon-legal.component.d.ts +9 -1
- package/lib/components/core/babylon-legal/babylon-legal.interface.d.ts +7 -0
- package/lib/components/core/babylon-legal/index.d.ts +2 -0
- package/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.d.ts +5 -1
- package/lib/components/core/babylon-list-c3-img-txt/index.d.ts +1 -0
- package/lib/components/core/babylon-list-grid/babylon-list-grid.component.d.ts +17 -1
- package/lib/components/core/babylon-list-grid/babylon-list-grid.interface.d.ts +8 -0
- package/lib/components/core/babylon-list-grid/index.d.ts +2 -0
- package/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.d.ts +45 -0
- package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.d.ts +18 -0
- package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.d.ts +8 -0
- package/lib/components/core/babylon-modal-multiple-motors/index.d.ts +2 -0
- package/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.d.ts +25 -0
- package/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.d.ts +9 -0
- package/lib/components/core/babylon-modal-popup/index.d.ts +2 -0
- package/lib/components/core/babylon-newsletter/babylon-newsletter.component.d.ts +19 -3
- package/lib/components/core/babylon-newsletter/babylon-newsletter.interface.d.ts +9 -0
- package/lib/components/core/babylon-newsletter/index.d.ts +2 -0
- package/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.d.ts +16 -1
- package/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.d.ts +17 -0
- package/lib/components/core/babylon-offer-detail/index.d.ts +2 -0
- package/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.d.ts +18 -5
- package/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.d.ts +7 -0
- package/lib/components/core/babylon-offer-popup/index.d.ts +2 -0
- package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.d.ts +21 -0
- package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.d.ts +9 -0
- package/lib/components/core/babylon-offer-popupV2/index.d.ts +2 -0
- package/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.d.ts +6 -1
- package/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.d.ts +7 -0
- package/lib/components/core/babylon-offer-slider/babylon-offer.interface.d.ts +18 -0
- package/lib/components/core/babylon-offer-slider/index.d.ts +3 -0
- package/lib/components/core/babylon-offers-list/babylon-offers-list.component.d.ts +33 -2
- package/lib/components/core/babylon-offers-list/babylon-offers-list.interface.d.ts +14 -0
- package/lib/components/core/babylon-offers-list/index.d.ts +2 -0
- package/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.d.ts +5 -1
- package/lib/components/core/babylon-offers-slider/index.d.ts +1 -0
- package/lib/components/core/babylon-preload/babylon-preload.component.d.ts +5 -1
- package/lib/components/core/babylon-preload/index.d.ts +1 -0
- package/lib/components/core/babylon-press-list/babylon-press-list.component.d.ts +17 -0
- package/lib/components/core/babylon-press-list/babylon-press-list.interface.d.ts +8 -0
- package/lib/components/core/babylon-press-list/index.d.ts +2 -0
- package/lib/components/core/babylon-room-details/babylon-room-detail.interface.d.ts +20 -0
- package/lib/components/core/babylon-room-details/babylon-room-details.component.d.ts +13 -1
- package/lib/components/core/babylon-room-details/index.d.ts +2 -0
- package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.d.ts +39 -1
- package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.d.ts +10 -0
- package/lib/components/core/babylon-rooms-cols/index.d.ts +2 -0
- package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.d.ts +10 -1
- package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.d.ts +8 -0
- package/lib/components/core/babylon-rooms-grid/index.d.ts +2 -0
- package/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.d.ts +27 -1
- package/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.d.ts +6 -0
- package/lib/components/core/babylon-rooms-list/index.d.ts +2 -0
- package/lib/components/core/babylon-rooms-slider/babylon-room.interface.d.ts +15 -0
- package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.d.ts +6 -1
- package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.d.ts +6 -0
- package/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.d.ts +8 -0
- package/lib/components/core/babylon-rooms-slider/index.d.ts +4 -0
- package/lib/components/core/babylon-services-slider/babylon-service-slider.interface.d.ts +6 -0
- package/lib/components/core/babylon-services-slider/babylon-services-slider.component.d.ts +7 -1
- package/lib/components/core/babylon-services-slider/index.d.ts +2 -0
- package/lib/components/core/babylon-sli-c1-img-text/babylon-sli-c1-img-text.component.d.ts +5 -0
- package/lib/components/core/babylon-sli-c1-img-text/index.d.ts +1 -0
- package/lib/components/core/babylon-sli-c5-img-txt/babylon-sli-c5-img-txt.component.d.ts +5 -0
- package/lib/components/core/babylon-sli-c5-img-txt/index.d.ts +1 -0
- package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +6 -1
- package/lib/components/core/babylon-slider-img-static/index.d.ts +1 -0
- package/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.d.ts +6 -1
- package/lib/components/core/babylon-slider-img-static-v2/index.d.ts +1 -0
- package/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.d.ts +9 -1
- package/lib/components/core/babylon-slider-img-video/index.d.ts +1 -0
- package/lib/components/core/babylon-slider2col/babylon-slider2col.component.d.ts +22 -1
- package/lib/components/core/babylon-slider2col/index.d.ts +1 -0
- package/lib/components/core/babylon-slider2items/babylon-slider2items.component.d.ts +5 -1
- package/lib/components/core/babylon-slider2items/babylon-slider2items.interface.d.ts +6 -0
- package/lib/components/core/babylon-slider2items/index.d.ts +2 -0
- package/lib/components/core/babylon-slider3col/babylon-slider3col.component.d.ts +23 -0
- package/lib/components/core/babylon-slider3col/index.d.ts +1 -0
- package/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.d.ts +5 -0
- package/lib/components/core/babylon-slider3col-clear/index.d.ts +1 -0
- package/lib/components/core/babylon-slider3items/babylon-slider3items.component.d.ts +15 -1
- package/lib/components/core/babylon-slider3items/babylon-slider3items.interface.d.ts +6 -0
- package/lib/components/core/babylon-slider3items/index.d.ts +2 -0
- package/lib/components/core/babylon-slider4col/babylon-slider4col.component.d.ts +15 -1
- package/lib/components/core/babylon-slider4col/index.d.ts +1 -0
- package/lib/components/core/babylon-social-bar/babylon-social-bar.component.d.ts +5 -1
- package/lib/components/core/babylon-social-bar/index.d.ts +1 -0
- package/lib/components/core/babylon-static-footer/babylon-static-footer.component.d.ts +55 -2
- package/lib/components/core/babylon-static-footer/babylon-static-footer.interface.d.ts +29 -0
- package/lib/components/core/babylon-static-footer/index.d.ts +2 -0
- package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.d.ts +24 -3
- package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.d.ts +18 -0
- package/lib/components/core/babylon-static-footer-v2/index.d.ts +2 -0
- package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.d.ts +13 -2
- package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.d.ts +5 -0
- package/lib/components/core/babylon-submenu-hotel/index.d.ts +2 -0
- package/lib/components/core/babylon-thanks/babylon-thanks.component.d.ts +7 -1
- package/lib/components/core/babylon-thanks/babylon-thanks.interface.d.ts +7 -0
- package/lib/components/core/babylon-thanks/index.d.ts +2 -0
- package/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.d.ts +6 -2
- package/lib/components/core/babylon-top-simple-banner/index.d.ts +1 -0
- package/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.d.ts +9 -0
- package/lib/components/core/babylon-top-slider/babylon-top-slider.component.d.ts +37 -2
- package/lib/components/core/babylon-top-slider/babylon-top-slider.interface.d.ts +12 -0
- package/lib/components/core/babylon-top-slider/index.d.ts +3 -0
- package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.d.ts +12 -2
- package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.d.ts +8 -0
- package/lib/components/core/babylon-top-slider-thumbs/index.d.ts +2 -0
- package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.d.ts +7 -0
- package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.d.ts +10 -1
- package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.d.ts +8 -0
- package/lib/components/core/babylon-top-slider-v2/index.d.ts +3 -0
- package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.d.ts +34 -2
- package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.d.ts +9 -0
- package/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.d.ts +5 -0
- package/lib/components/core/babylon-top-slider-video/index.d.ts +3 -0
- package/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.d.ts +3 -1
- package/lib/components/core/babylon-top-slider-video-v2/index.d.ts +1 -0
- package/lib/components/core/babylon-webmap/babylon-webmap.component.d.ts +11 -1
- package/lib/components/core/babylon-webmap/babylon-webmap.interface.d.ts +9 -0
- package/lib/components/core/babylon-webmap/index.d.ts +2 -0
- package/lib/components/core/index.d.ts +103 -0
- package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.d.ts +33 -0
- package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.d.ts +5 -0
- package/lib/components/shared/babylon-dynamic-heading/index.d.ts +2 -0
- package/lib/components/shared/babylon-search/babylon-search.component.d.ts +30 -0
- package/lib/components/shared/babylon-search/index.d.ts +1 -0
- package/lib/components/shared/index.d.ts +1 -0
- package/lib/directives/babylon-background-strip/babylon-background-strip.directive.d.ts +17 -0
- package/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.d.ts +12 -0
- package/lib/directives/babylon-galleries/babylon-light-gallery.directive.d.ts +18 -0
- package/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.d.ts +15 -0
- package/lib/directives/babylon-pagination/babylon-pagination.directive.d.ts +39 -0
- package/lib/directives/babylon-sliders/babylon-custom-slider.directive.d.ts +13 -0
- package/{directives → lib/directives/babylon-sliders}/babylon-hotels-slider.directive.d.ts +2 -1
- package/lib/directives/babylon-sliders/babylon-sliders.directive.d.ts +36 -0
- package/lib/directives/babylon-sliders/babylon-swiper-slider.directive.d.ts +14 -0
- package/lib/directives/babylon-sliders/babylon-swiper.directive.d.ts +17 -0
- package/lib/directives/data-background/data-background.directive.d.ts +12 -0
- package/lib/directives/link-type/link-type.directive.d.ts +40 -0
- package/lib/directives/{scroll → scrolls}/scroll-to.directive.d.ts +1 -1
- package/lib/directives/scrolls/scroll-up.directive.d.ts +7 -0
- package/lib/directives/{scroll → scrolls}/show-only-top.directive.d.ts +3 -2
- package/lib/directives/utils/sticky-avoid-footer.directive.d.ts +2 -1
- package/lib/interfaces/babylon-advantages-item.interface.d.ts +5 -0
- package/lib/interfaces/babylon-button.interface.d.ts +9 -0
- package/lib/interfaces/babylon-consult-type.interface.d.ts +10 -0
- package/lib/interfaces/babylon-dropdown.interface.d.ts +9 -0
- package/lib/interfaces/babylon-equipments-item.interface.d.ts +5 -0
- package/lib/interfaces/babylon-global-icon.interface.d.ts +4 -0
- package/lib/interfaces/babylon-global.interface.d.ts +22 -0
- package/lib/interfaces/babylon-icon.interface.d.ts +6 -0
- package/lib/interfaces/babylon-image.interface.d.ts +16 -0
- package/lib/interfaces/babylon-input.interface.d.ts +12 -0
- package/lib/interfaces/babylon-item.interface.d.ts +12 -0
- package/lib/interfaces/babylon-menu-button.interface.d.ts +10 -0
- package/lib/interfaces/babylon-menu-info.interface.d.ts +27 -0
- package/lib/interfaces/babylon-multimedia.interface.d.ts +8 -0
- package/lib/interfaces/babylon-page-config.interface.d.ts +43 -0
- package/lib/interfaces/babylon-site-config.interface.d.ts +57 -0
- package/lib/interfaces/babylon-tags.interface.d.ts +21 -0
- package/lib/interfaces/babylon-text-info.interface.d.ts +21 -0
- package/lib/interfaces/babylon-texts-colors.interface.d.ts +20 -0
- package/lib/interfaces/babylon-texts.interface.d.ts +5 -0
- package/lib/interfaces/babylon-video.interface.d.ts +5 -0
- package/lib/interfaces/index.d.ts +15 -0
- package/lib/pipes/babylon-clean-phone.pipe.d.ts +7 -0
- package/lib/pipes/babylon-currency.pipe.d.ts +7 -0
- package/lib/services/color-panel.service.d.ts +41 -0
- package/lib/services/engine-state.service.d.ts +10 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/mapper/index.d.ts +2 -0
- package/lib/services/mapper/mapper.service.d.ts +144 -0
- package/lib/services/mapper/mapper.service.token.d.ts +2 -0
- package/lib/services/modals-service/index.d.ts +1 -0
- package/lib/services/modals-service/modals.service.d.ts +15 -0
- package/lib/services/screen-sizer/screen-sizer.service.d.ts +2 -0
- package/lib/styles/styles/babylon/_spacing.css +1 -0
- package/lib/styles/styles/babylon/_spacing.scss +72 -0
- package/lib/styles/styles/babylon/common.css +1 -0
- package/lib/styles/styles/babylon/common.scss +1830 -0
- package/lib/styles/styles/babylon/globals.css +1 -0
- package/lib/styles/styles/babylon/globals.scss +1129 -0
- package/lib/styles/styles/babylon/mixins.css +1 -0
- package/lib/styles/styles/babylon/mixins.scss +1031 -0
- package/lib/styles/styles/babylon/reset.css +1 -0
- package/lib/styles/styles/babylon/reset.scss +136 -0
- package/lib/styles/styles/babylon/slide.css +1 -0
- package/lib/styles/styles/babylon/slider.css +1 -0
- package/lib/styles/styles/babylon/slider.scss +876 -0
- package/lib/styles/styles/babylon/structure.css +0 -0
- package/lib/styles/styles/babylon/structure.scss +1 -0
- package/lib/styles/styles/babylon/variables-v2.css +0 -0
- package/lib/styles/styles/babylon/variables.css +1 -0
- package/lib/styles/styles/babylon/variables.scss +330 -0
- package/lib/styles/styles-babylon.scss +48 -7
- package/lib/utils/complex-links.token.d.ts +2 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/utils.d.ts +14 -0
- package/package.json +11 -4
- package/public-api.d.ts +6 -114
- package/esm2022/directives/babylon-hotels-slider.directive.mjs +0 -103
- package/esm2022/lib/components/core/babylon-404-v2/babylon-404-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.mjs +0 -37
- package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs +0 -130
- package/esm2022/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.mjs +0 -21
- package/esm2022/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.mjs +0 -105
- package/esm2022/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.mjs +0 -76
- package/esm2022/lib/components/core/babylon-img-banner/babylon-img-banner.component.mjs +0 -13
- package/esm2022/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.mjs +0 -61
- package/esm2022/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.mjs +0 -18
- package/esm2022/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.mjs +0 -13
- package/esm2022/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.mjs +0 -28
- package/esm2022/lib/components/core/babylon-lis-c2-img-vid/babylon-lis-c2-img-vid.component.mjs +0 -39
- package/esm2022/lib/components/core/babylon-lis-c4-txt-img-pdf/babylon-lis-c4-txt-img-pdf.component.mjs +0 -57
- package/esm2022/lib/components/core/babylon-lis-c5-txt-img-svg/babylon-lis-c5-txt-img-svg.component.mjs +0 -55
- package/esm2022/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +0 -71
- package/esm2022/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.mjs +0 -65
- package/esm2022/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.mjs +0 -19
- package/esm2022/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.mjs +0 -19
- package/esm2022/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.mjs +0 -19
- package/esm2022/lib/components/core/babylon-reviews/babylon-reviews.component.mjs +0 -169
- package/esm2022/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.mjs +0 -12
- package/esm2022/lib/components/core/babylon-slider-box/babylon-slider-box.component.mjs +0 -12
- package/esm2022/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.mjs +0 -13
- package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.mjs +0 -11
- package/esm2022/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.mjs +0 -12
- package/esm2022/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.mjs +0 -67
- package/esm2022/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.mjs +0 -11
- package/esm2022/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.mjs +0 -82
- package/esm2022/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.mjs +0 -11
- package/esm2022/lib/directives/images/swap-on-reload.directive.mjs +0 -83
- package/esm2022/lib/directives/scroll/scroll-to.directive.mjs +0 -183
- package/esm2022/lib/directives/scroll/show-only-top.directive.mjs +0 -103
- package/lib/components/core/babylon-404-v2/babylon-404-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.d.ts +0 -10
- package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +0 -44
- package/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.d.ts +0 -5
- package/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.d.ts +0 -10
- package/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.d.ts +0 -22
- package/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.d.ts +0 -16
- package/lib/components/core/babylon-img-banner/babylon-img-banner.component.d.ts +0 -5
- package/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.d.ts +0 -12
- package/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.d.ts +0 -5
- package/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.d.ts +0 -6
- package/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.d.ts +0 -5
- package/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.d.ts +0 -5
- package/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.d.ts +0 -12
- package/lib/components/core/babylon-lis-c2-img-vid/babylon-lis-c2-img-vid.component.d.ts +0 -12
- package/lib/components/core/babylon-lis-c4-txt-img-pdf/babylon-lis-c4-txt-img-pdf.component.d.ts +0 -24
- package/lib/components/core/babylon-lis-c5-txt-img-svg/babylon-lis-c5-txt-img-svg.component.d.ts +0 -24
- package/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.d.ts +0 -5
- package/lib/components/core/babylon-list-img/babylon-list-img.component.d.ts +0 -26
- package/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.d.ts +0 -5
- package/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.d.ts +0 -10
- package/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.d.ts +0 -7
- package/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.d.ts +0 -7
- package/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.d.ts +0 -7
- package/lib/components/core/babylon-reviews/babylon-reviews.component.d.ts +0 -28
- package/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.d.ts +0 -5
- package/lib/components/core/babylon-slider-box/babylon-slider-box.component.d.ts +0 -5
- package/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.d.ts +0 -5
- package/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.d.ts +0 -5
- package/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.d.ts +0 -12
- package/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.d.ts +0 -5
- package/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.d.ts +0 -12
- package/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.d.ts +0 -5
- package/lib/directives/images/swap-on-reload.directive.d.ts +0 -22
- /package/lib/styles/styles/babylon/{scss-daba/airDatePicker.min.css → airDatePicker.min.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/aos.min.css → aos.min.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/buttons.css → buttons.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/buttons.scss → buttons.scss} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/fancybox.css → fancybox.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/fancybox.min.css → fancybox.min.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/funciones.css → funciones.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/funciones.scss → funciones.scss} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/inputs.css → inputs.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/inputs.scss → inputs.scss} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/jquery.fancybox.min.css → jquery.fancybox.min.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/style.css → style.css} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/style.scss → style.scss} +0 -0
- /package/lib/styles/styles/babylon/{scss-daba/swiper-bundle.min.css → swiper-bundle.min.css} +0 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Directive, EventEmitter, HostListener, inject, Input, Output, PLATFORM_ID, NgZone, } from '@angular/core';
|
|
3
|
+
import { complex_links } from '../../utils/complex-links.token';
|
|
4
|
+
import { SITE_CONFIG_SERVICE_TOKEN } from '../../services/mapper/mapper.service.token';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
export class BabylonLinkTypeDirective {
|
|
8
|
+
constructor(router, elRef) {
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.elRef = elRef;
|
|
11
|
+
this.anchorClicked = new EventEmitter();
|
|
12
|
+
this.platformId = inject(PLATFORM_ID);
|
|
13
|
+
this.hasComplexLinks = inject(complex_links);
|
|
14
|
+
this.siteSvc = inject(SITE_CONFIG_SERVICE_TOKEN);
|
|
15
|
+
this.ngZone = inject(NgZone);
|
|
16
|
+
this.PHONE_RE = /^T\s*[:\-]?\s*(.+)$/i;
|
|
17
|
+
this.MAILTO_RE = /^mailto:/i;
|
|
18
|
+
this.ADDRESS_RE = /^c\/\.?(.*)$/i;
|
|
19
|
+
}
|
|
20
|
+
ngOnChanges() {
|
|
21
|
+
if (!this.linkType || !this.href) {
|
|
22
|
+
this.handleNoLink();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (this.isExternalType(this.linkType)) {
|
|
26
|
+
const detected = this.detectExternalKind(this.href);
|
|
27
|
+
this.applyNormalizedHref(detected);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.elRef.nativeElement.setAttribute('href', this.href);
|
|
31
|
+
}
|
|
32
|
+
if (this.linkType === 'external' || this.linkType === 'external_link') {
|
|
33
|
+
this.elRef.nativeElement.setAttribute('rel', 'nofollow');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
btnClick(event) {
|
|
37
|
+
if (!this.linkType || !this.href) {
|
|
38
|
+
this.handleNoLink();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!this.linkType) {
|
|
42
|
+
console.warn('linkType is missing.');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
switch (this.linkType) {
|
|
47
|
+
case 'internal':
|
|
48
|
+
this.handleInternalLink(this.href);
|
|
49
|
+
break;
|
|
50
|
+
case 'internal_link':
|
|
51
|
+
this.handleInternalLink(this.href);
|
|
52
|
+
break;
|
|
53
|
+
case 'external':
|
|
54
|
+
this.handleExternalLink(this.href);
|
|
55
|
+
break;
|
|
56
|
+
case 'external_link':
|
|
57
|
+
this.handleExternalLink(this.href);
|
|
58
|
+
break;
|
|
59
|
+
case 'anchor':
|
|
60
|
+
this.handleAnchorLink(this.href);
|
|
61
|
+
break;
|
|
62
|
+
case 'pdf_link':
|
|
63
|
+
this.handlePdfLink(this.href);
|
|
64
|
+
break;
|
|
65
|
+
case 'nolink':
|
|
66
|
+
this.handleNoLink();
|
|
67
|
+
break;
|
|
68
|
+
case 'component':
|
|
69
|
+
this.handleComponentLink(this.href);
|
|
70
|
+
break;
|
|
71
|
+
case 'component_link':
|
|
72
|
+
this.handleComponentLink(this.href);
|
|
73
|
+
break;
|
|
74
|
+
default:
|
|
75
|
+
console.warn(`Unsupported linkType: ${this.linkType}`);
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
handleInternalLink(url) {
|
|
80
|
+
const cleanedUrl = url.trim().replace(/\/+$/, '');
|
|
81
|
+
this.anchorClicked.emit();
|
|
82
|
+
this.router.navigateByUrl('/' + cleanedUrl);
|
|
83
|
+
}
|
|
84
|
+
handleExternalLink(url) {
|
|
85
|
+
if (!isPlatformBrowser(this.platformId))
|
|
86
|
+
return;
|
|
87
|
+
const detected = this.detectExternalKind(url);
|
|
88
|
+
switch (detected.kind) {
|
|
89
|
+
case 'phone':
|
|
90
|
+
this.openPhone(detected.value);
|
|
91
|
+
break;
|
|
92
|
+
case 'email':
|
|
93
|
+
this.openEmail(detected.value);
|
|
94
|
+
break;
|
|
95
|
+
case 'address':
|
|
96
|
+
this.openAddress(detected.value);
|
|
97
|
+
break;
|
|
98
|
+
default:
|
|
99
|
+
const isAbsoluteUrl = (url) => /^(https?:)/i.test(url);
|
|
100
|
+
const finalUrl = isAbsoluteUrl(detected.value)
|
|
101
|
+
? detected.value
|
|
102
|
+
: 'https://' + detected.value;
|
|
103
|
+
window.open(finalUrl, '_blank');
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
handlePdfLink(url) {
|
|
108
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
109
|
+
window.open(url, '_blank');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
handleAnchorLink(sectionId) {
|
|
113
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
114
|
+
const lang = this.siteSvc.selectedLanguageInstant?.locate.toLowerCase();
|
|
115
|
+
if (this.hasComplexLinks && this.router.url !== `/${lang}`) {
|
|
116
|
+
this.redirectToHomeAnchor(sectionId);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
const element = document.getElementById(sectionId);
|
|
120
|
+
if (element) {
|
|
121
|
+
const yOffset = -160;
|
|
122
|
+
const y = element.getBoundingClientRect().top +
|
|
123
|
+
window.scrollY +
|
|
124
|
+
yOffset;
|
|
125
|
+
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
126
|
+
this.anchorClicked.emit();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
console.warn(`Section with ID ${sectionId} not found.`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
handleComponentLink(url) {
|
|
135
|
+
const cleanedComponentName = url.trim().toLowerCase();
|
|
136
|
+
if (this.modalClick) {
|
|
137
|
+
this.modalClick.emit(cleanedComponentName);
|
|
138
|
+
}
|
|
139
|
+
if (this.clickPopup) {
|
|
140
|
+
this.clickPopup.emit(cleanedComponentName);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
handleNoLink() {
|
|
144
|
+
const parentLi = this.elRef.nativeElement.closest('li');
|
|
145
|
+
const isInsideMenuItemWithChildren = parentLi?.classList.contains('menu-item-has-children');
|
|
146
|
+
if (!isInsideMenuItemWithChildren) {
|
|
147
|
+
this.elRef.nativeElement.removeAttribute('href');
|
|
148
|
+
this.elRef.nativeElement.removeAttribute('[href]');
|
|
149
|
+
this.elRef.nativeElement.setAttribute('aria-disabled', 'true');
|
|
150
|
+
this.elRef.nativeElement.setAttribute('tabindex', '-1');
|
|
151
|
+
this.elRef.nativeElement.style.cursor = 'default';
|
|
152
|
+
this.elRef.nativeElement.style.pointerEvents = 'none';
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
openPhone(num) {
|
|
156
|
+
window.location.href = `tel:${num}`;
|
|
157
|
+
}
|
|
158
|
+
openEmail(email) {
|
|
159
|
+
window.location.href = `mailto:${email}`;
|
|
160
|
+
}
|
|
161
|
+
openAddress(address) {
|
|
162
|
+
const mapsUrl = this.buildMapsUrl(address);
|
|
163
|
+
window.open(mapsUrl, '_blank');
|
|
164
|
+
}
|
|
165
|
+
buildMapsUrl(address) {
|
|
166
|
+
return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(address)}`;
|
|
167
|
+
}
|
|
168
|
+
isExternalType(t) {
|
|
169
|
+
return t === 'external' || t === 'external_link';
|
|
170
|
+
}
|
|
171
|
+
detectExternalKind(raw) {
|
|
172
|
+
const trimmed = (raw || '').trim();
|
|
173
|
+
if (this.MAILTO_RE.test(trimmed)) {
|
|
174
|
+
const email = trimmed.replace(/^mailto:/i, '');
|
|
175
|
+
return { kind: 'email', value: email };
|
|
176
|
+
}
|
|
177
|
+
if (this.PHONE_RE.test(trimmed)) {
|
|
178
|
+
const match = this.PHONE_RE.exec(trimmed);
|
|
179
|
+
const numRaw = (match?.[1] ?? '').trim();
|
|
180
|
+
const digits = numRaw.replace(/[^\d+]/g, '');
|
|
181
|
+
return { kind: 'phone', value: digits };
|
|
182
|
+
}
|
|
183
|
+
if (/^tel:/i.test(trimmed)) {
|
|
184
|
+
const num = trimmed.replace(/^tel:/i, '').replace(/[^\d+]/g, '');
|
|
185
|
+
return { kind: 'phone', value: num };
|
|
186
|
+
}
|
|
187
|
+
const addrMatch = this.ADDRESS_RE.exec(trimmed);
|
|
188
|
+
if (addrMatch) {
|
|
189
|
+
const addr = (addrMatch[1] ?? '').trim();
|
|
190
|
+
return { kind: 'address', value: addr };
|
|
191
|
+
}
|
|
192
|
+
return { kind: 'url', value: trimmed };
|
|
193
|
+
}
|
|
194
|
+
checkExternalLanguages(val) {
|
|
195
|
+
const lang = this.siteSvc.selectedLanguageInstant?.locate.toLowerCase();
|
|
196
|
+
let langurl = val + '/' + lang;
|
|
197
|
+
return langurl;
|
|
198
|
+
}
|
|
199
|
+
redirectToHomeAnchor(sectionId) {
|
|
200
|
+
const intervalMs = 50;
|
|
201
|
+
let intervalId;
|
|
202
|
+
this.router.navigateByUrl('/').then(() => {
|
|
203
|
+
setTimeout(() => {
|
|
204
|
+
const attemptScroll = () => {
|
|
205
|
+
const element = document.getElementById(sectionId);
|
|
206
|
+
if (element) {
|
|
207
|
+
clearInterval(intervalId);
|
|
208
|
+
clearTimeout(timeoutId);
|
|
209
|
+
this.scrollToSection(sectionId);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
intervalId = setInterval(attemptScroll, intervalMs);
|
|
213
|
+
const timeoutId = setTimeout(() => {
|
|
214
|
+
clearInterval(intervalId);
|
|
215
|
+
console.warn(`Section with ID ${sectionId} not found.`);
|
|
216
|
+
}, 3000);
|
|
217
|
+
attemptScroll();
|
|
218
|
+
}, 300);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
scrollToSection(sectionId) {
|
|
222
|
+
const element = document.getElementById(sectionId);
|
|
223
|
+
if (element) {
|
|
224
|
+
setTimeout(() => {
|
|
225
|
+
const yOffset = -160;
|
|
226
|
+
const y = element.getBoundingClientRect().top +
|
|
227
|
+
window.scrollY +
|
|
228
|
+
yOffset;
|
|
229
|
+
window.scrollTo({ top: y, behavior: 'smooth' });
|
|
230
|
+
this.anchorClicked.emit();
|
|
231
|
+
document.querySelector('body')?.classList.remove('no_scroll');
|
|
232
|
+
}, 500);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
console.warn(`Section with ID ${sectionId} not found.`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
applyNormalizedHref(detected) {
|
|
239
|
+
const el = this.elRef.nativeElement;
|
|
240
|
+
switch (detected.kind) {
|
|
241
|
+
case 'phone':
|
|
242
|
+
el.setAttribute('href', `tel:${detected.value}`);
|
|
243
|
+
el.removeAttribute('target');
|
|
244
|
+
break;
|
|
245
|
+
case 'email':
|
|
246
|
+
el.setAttribute('href', `mailto:${detected.value}`);
|
|
247
|
+
el.removeAttribute('target');
|
|
248
|
+
break;
|
|
249
|
+
case 'address':
|
|
250
|
+
el.setAttribute('href', this.buildMapsUrl(detected.value));
|
|
251
|
+
el.setAttribute('target', '_blank');
|
|
252
|
+
break;
|
|
253
|
+
default:
|
|
254
|
+
if (el.closest('.cs_nav_list') && this.hasComplexLinks) {
|
|
255
|
+
let newvalue = this.checkExternalLanguages(detected.value);
|
|
256
|
+
el.setAttribute('href', newvalue);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
el.setAttribute('href', detected.value);
|
|
260
|
+
}
|
|
261
|
+
el.setAttribute('target', '_blank');
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonLinkTypeDirective, deps: [{ token: i1.Router }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
266
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BabylonLinkTypeDirective, isStandalone: true, selector: "[linkType]", inputs: { linkType: "linkType", href: "href", modalClick: "modalClick", clickPopup: "clickPopup" }, outputs: { anchorClicked: "anchorClicked" }, host: { listeners: { "click": "btnClick($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
267
|
+
}
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonLinkTypeDirective, decorators: [{
|
|
269
|
+
type: Directive,
|
|
270
|
+
args: [{
|
|
271
|
+
selector: '[linkType]',
|
|
272
|
+
standalone: true,
|
|
273
|
+
}]
|
|
274
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i0.ElementRef }], propDecorators: { linkType: [{
|
|
275
|
+
type: Input
|
|
276
|
+
}], href: [{
|
|
277
|
+
type: Input
|
|
278
|
+
}], modalClick: [{
|
|
279
|
+
type: Input
|
|
280
|
+
}], clickPopup: [{
|
|
281
|
+
type: Input
|
|
282
|
+
}], anchorClicked: [{
|
|
283
|
+
type: Output
|
|
284
|
+
}], btnClick: [{
|
|
285
|
+
type: HostListener,
|
|
286
|
+
args: ['click', ['$event']]
|
|
287
|
+
}] } });
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay10eXBlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL2xpbmstdHlwZS9saW5rLXR5cGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7O0FBTXZGLE1BQU0sT0FBTyx3QkFBd0I7SUFlakMsWUFDcUIsTUFBYyxFQUNkLEtBQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBWjVCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLFlBQU8sR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1QyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhCLGFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUNsQyxjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxlQUFlLENBQUM7SUFLM0MsQ0FBQztJQUNKLFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFD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QUM7Z0JBQ3BDLE1BQU07U0FDYjtJQUNMLENBQUM7K0dBMVRRLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7b0dBRVksUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBZ0NQLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgUExBVEZPUk1fSUQsXG4gICAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBjb21wbGV4X2xpbmtzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29tcGxleC1saW5rcy50b2tlbic7XG5pbXBvcnQgeyBTSVRFX0NPTkZJR19TRVJWSUNFX1RPS0VOIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFwcGVyL21hcHBlci5zZXJ2aWNlLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbbGlua1R5cGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uTGlua1R5cGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIGxpbmtUeXBlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgbW9kYWxDbGljaz86IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICAgIEBJbnB1dCgpIGNsaWNrUG9wdXA/OiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcbiAgICBAT3V0cHV0KCkgYW5jaG9yQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgIHByaXZhdGUgaGFzQ29tcGxleExpbmtzID0gaW5qZWN0KGNvbXBsZXhfbGlua3MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2l0ZVN2YyA9IGluamVjdChTSVRFX0NPTkZJR19TRVJWSUNFX1RPS0VOKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBQSE9ORV9SRSA9IC9eVFxccypbOlxcLV0/XFxzKiguKykkL2k7XG4gICAgcHJpdmF0ZSByZWFkb25seSBNQUlMVE9fUkUgPSAvXm1haWx0bzovaTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IEFERFJFU1NfUkUgPSAvXmNcXC9cXC4/KC4qKSQvaTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsUmVmOiBFbGVtZW50UmVmXG4gICAgKSB7fVxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubGlua1R5cGUgfHwgIXRoaXMuaHJlZikge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVOb0xpbmsoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0V4dGVybmFsVHlwZSh0aGlzLmxpbmtUeXBlKSkge1xuICAgICAgICAgICAgY29uc3QgZGV0ZWN0ZWQgPSB0aGlzLmRldGVjdEV4dGVybmFsS2luZCh0aGlzLmhyZWYpO1xuICAgICAgICAgICAgdGhpcy5hcHBseU5vcm1hbGl6ZWRIcmVmKGRldGVjdGVkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB0aGlzLmhyZWYpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubGlua1R5cGUgPT09ICdleHRlcm5hbCcgfHwgdGhpcy5saW5rVHlwZSA9PT0gJ2V4dGVybmFsX2xpbmsnKSB7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwnLCAnbm9mb2xsb3cnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBidG5DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpbmtUeXBlIHx8ICF0aGlzLmhyZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTm9MaW5rKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMubGlua1R5cGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignbGlua1R5cGUgaXMgbWlzc2luZy4nKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgc3dpdGNoICh0aGlzLmxpbmtUeXBlKSB7XG4gICAgICAgICAgICBjYXNlICdpbnRlcm5hbCc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnRlcm5hbExpbmsodGhpcy5ocmVmKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnaW50ZXJuYWxfbGluayc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVJbnRlcm5hbExpbmsodGhpcy5ocmVmKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZXh0ZXJuYWwnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXh0ZXJuYWxMaW5rKHRoaXMuaHJlZik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2V4dGVybmFsX2xpbmsnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXh0ZXJuYWxMaW5rKHRoaXMuaHJlZik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2FuY2hvcic6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBbmNob3JMaW5rKHRoaXMuaHJlZik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ3BkZl9saW5rJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVBkZkxpbmsodGhpcy5ocmVmKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnbm9saW5rJzpcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU5vTGluaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdjb21wb25lbnQnOlxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQ29tcG9uZW50TGluayh0aGlzLmhyZWYpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdjb21wb25lbnRfbGluayc6XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVDb21wb25lbnRMaW5rKHRoaXMuaHJlZik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBVbnN1cHBvcnRlZCBsaW5rVHlwZTogJHt0aGlzLmxpbmtUeXBlfWApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnRlcm5hbExpbmsodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2xlYW5lZFVybCA9IHVybC50cmltKCkucmVwbGFjZSgvXFwvKyQvLCAnJyk7XG4gICAgICAgIHRoaXMuYW5jaG9yQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nICsgY2xlYW5lZFVybCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFeHRlcm5hbExpbmsodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZGV0ZWN0ZWQgPSB0aGlzLmRldGVjdEV4dGVybmFsS2luZCh1cmwpO1xuICAgICAgICBzd2l0Y2ggKGRldGVjdGVkLmtpbmQpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Bob25lJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5QaG9uZShkZXRlY3RlZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuRW1haWwoZGV0ZWN0ZWQudmFsdWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYWRkcmVzcyc6XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuQWRkcmVzcyhkZXRlY3RlZC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWJzb2x1dGVVcmwgPSAodXJsOiBzdHJpbmcpID0+IC9eKGh0dHBzPzopL2kudGVzdCh1cmwpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsVXJsID0gaXNBYnNvbHV0ZVVybChkZXRlY3RlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgPyBkZXRlY3RlZC52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6ICdodHRwczovLycgKyBkZXRlY3RlZC52YWx1ZTtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGZpbmFsVXJsLCAnX2JsYW5rJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVBkZkxpbmsodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBbmNob3JMaW5rKHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCBsYW5nID1cbiAgICAgICAgICAgICAgICB0aGlzLnNpdGVTdmMuc2VsZWN0ZWRMYW5ndWFnZUluc3RhbnQ/LmxvY2F0ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ29tcGxleExpbmtzICYmIHRoaXMucm91dGVyLnVybCAhPT0gYC8ke2xhbmd9YCkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3RUb0hvbWVBbmNob3Ioc2VjdGlvbklkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlY3Rpb25JZCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeU9mZnNldCA9IC0xNjA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHkgPVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgK1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgeU9mZnNldDtcblxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHksIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmNob3JDbGlja2VkLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFNlY3Rpb24gd2l0aCBJRCAke3NlY3Rpb25JZH0gbm90IGZvdW5kLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ29tcG9uZW50TGluayh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBjbGVhbmVkQ29tcG9uZW50TmFtZSA9IHVybC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKHRoaXMubW9kYWxDbGljaykge1xuICAgICAgICAgICAgdGhpcy5tb2RhbENsaWNrLmVtaXQoY2xlYW5lZENvbXBvbmVudE5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNsaWNrUG9wdXApIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tQb3B1cC5lbWl0KGNsZWFuZWRDb21wb25lbnROYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTm9MaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRMaSA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdsaScpO1xuXG4gICAgICAgIGNvbnN0IGlzSW5zaWRlTWVudUl0ZW1XaXRoQ2hpbGRyZW4gPSBwYXJlbnRMaT8uY2xhc3NMaXN0LmNvbnRhaW5zKFxuICAgICAgICAgICAgJ21lbnUtaXRlbS1oYXMtY2hpbGRyZW4nXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKCFpc0luc2lkZU1lbnVJdGVtV2l0aENoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdocmVmJyk7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdbaHJlZl0nKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnZGVmYXVsdCc7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3BlblBob25lKG51bTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYHRlbDoke251bX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkVtYWlsKGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgbWFpbHRvOiR7ZW1haWx9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5BZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBtYXBzVXJsID0gdGhpcy5idWlsZE1hcHNVcmwoYWRkcmVzcyk7XG4gICAgICAgIHdpbmRvdy5vcGVuKG1hcHNVcmwsICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkTWFwc1VybChhZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGFkZHJlc3MpfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0V4dGVybmFsVHlwZSh0Pzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0ID09PSAnZXh0ZXJuYWwnIHx8IHQgPT09ICdleHRlcm5hbF9saW5rJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGVjdEV4dGVybmFsS2luZChyYXc6IHN0cmluZyk6IHtcbiAgICAgICAga2luZDogJ3Bob25lJyB8ICdlbWFpbCcgfCAnYWRkcmVzcycgfCAndXJsJztcbiAgICAgICAgdmFsdWU6IHN0cmluZztcbiAgICB9IHtcbiAgICAgICAgY29uc3QgdHJpbW1lZCA9IChyYXcgfHwgJycpLnRyaW0oKTtcblxuICAgICAgICBpZiAodGhpcy5NQUlMVE9fUkUudGVzdCh0cmltbWVkKSkge1xuICAgICAgICAgICAgY29uc3QgZW1haWwgPSB0cmltbWVkLnJlcGxhY2UoL15tYWlsdG86L2ksICcnKTtcbiAgICAgICAgICAgIHJldHVybiB7IGtpbmQ6ICdlbWFpbCcsIHZhbHVlOiBlbWFpbCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuUEhPTkVfUkUudGVzdCh0cmltbWVkKSkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLlBIT05FX1JFLmV4ZWModHJpbW1lZCk7XG4gICAgICAgICAgICBjb25zdCBudW1SYXcgPSAobWF0Y2g/LlsxXSA/PyAnJykudHJpbSgpO1xuICAgICAgICAgICAgY29uc3QgZGlnaXRzID0gbnVtUmF3LnJlcGxhY2UoL1teXFxkK10vZywgJycpO1xuICAgICAgICAgICAgcmV0dXJuIHsga2luZDogJ3Bob25lJywgdmFsdWU6IGRpZ2l0cyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICgvXnRlbDovaS50ZXN0KHRyaW1tZWQpKSB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSB0cmltbWVkLnJlcGxhY2UoL150ZWw6L2ksICcnKS5yZXBsYWNlKC9bXlxcZCtdL2csICcnKTtcbiAgICAgICAgICAgIHJldHVybiB7IGtpbmQ6ICdwaG9uZScsIHZhbHVlOiBudW0gfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZHJNYXRjaCA9IHRoaXMuQUREUkVTU19SRS5leGVjKHRyaW1tZWQpO1xuICAgICAgICBpZiAoYWRkck1hdGNoKSB7XG4gICAgICAgICAgICBjb25zdCBhZGRyID0gKGFkZHJNYXRjaFsxXSA/PyAnJykudHJpbSgpO1xuICAgICAgICAgICAgcmV0dXJuIHsga2luZDogJ2FkZHJlc3MnLCB2YWx1ZTogYWRkciB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsga2luZDogJ3VybCcsIHZhbHVlOiB0cmltbWVkIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0V4dGVybmFsTGFuZ3VhZ2VzKHZhbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMuc2l0ZVN2Yy5zZWxlY3RlZExhbmd1YWdlSW5zdGFudD8ubG9jYXRlLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCBsYW5ndXJsID0gdmFsICsgJy8nICsgbGFuZztcblxuICAgICAgICByZXR1cm4gbGFuZ3VybDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZGlyZWN0VG9Ib21lQW5jaG9yKHNlY3Rpb25JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGludGVydmFsTXMgPSA1MDtcbiAgICAgICAgbGV0IGludGVydmFsSWQ6IGFueTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnLycpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0ZW1wdFNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNlY3Rpb25JZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TZWN0aW9uKHNlY3Rpb25JZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGF0dGVtcHRTY3JvbGwsIGludGVydmFsTXMpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgU2VjdGlvbiB3aXRoIElEICR7c2VjdGlvbklkfSBub3QgZm91bmQuYCk7XG4gICAgICAgICAgICAgICAgfSwgMzAwMCk7XG5cbiAgICAgICAgICAgICAgICBhdHRlbXB0U2Nyb2xsKCk7XG4gICAgICAgICAgICB9LCAzMDApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvU2VjdGlvbihzZWN0aW9uSWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbklkKTtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHlPZmZzZXQgPSAtMTYwO1xuICAgICAgICAgICAgICAgIGNvbnN0IHkgPVxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxZICtcbiAgICAgICAgICAgICAgICAgICAgeU9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogeSwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5jaG9yQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpPy5jbGFzc0xpc3QucmVtb3ZlKCdub19zY3JvbGwnKTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFNlY3Rpb24gd2l0aCBJRCAke3NlY3Rpb25JZH0gbm90IGZvdW5kLmApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseU5vcm1hbGl6ZWRIcmVmKGRldGVjdGVkOiB7XG4gICAgICAgIGtpbmQ6ICdwaG9uZScgfCAnZW1haWwnIHwgJ2FkZHJlc3MnIHwgJ3VybCc7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgfSk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgc3dpdGNoIChkZXRlY3RlZC5raW5kKSB7XG4gICAgICAgICAgICBjYXNlICdwaG9uZSc6XG4gICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdocmVmJywgYHRlbDoke2RldGVjdGVkLnZhbHVlfWApO1xuICAgICAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgndGFyZ2V0Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdocmVmJywgYG1haWx0bzoke2RldGVjdGVkLnZhbHVlfWApO1xuICAgICAgICAgICAgICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgndGFyZ2V0Jyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdhZGRyZXNzJzpcbiAgICAgICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB0aGlzLmJ1aWxkTWFwc1VybChkZXRlY3RlZC52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgJ19ibGFuaycpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpZiAoZWwuY2xvc2VzdCgnLmNzX25hdl9saXN0JykgJiYgdGhpcy5oYXNDb21wbGV4TGlua3MpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld3ZhbHVlID0gdGhpcy5jaGVja0V4dGVybmFsTGFuZ3VhZ2VzKGRldGVjdGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCdocmVmJywgbmV3dmFsdWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgnaHJlZicsIGRldGVjdGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCAnX2JsYW5rJyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Directive, HostBinding, HostListener, Inject, PLATFORM_ID, } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/scroll/scroll-spy.service";
|
|
5
|
+
export class ScrollToDirective {
|
|
6
|
+
constructor(el, spy, platformId) {
|
|
7
|
+
this.el = el;
|
|
8
|
+
this.spy = spy;
|
|
9
|
+
this.platformId = platformId;
|
|
10
|
+
this.role = 'button';
|
|
11
|
+
this.tabindex = '0';
|
|
12
|
+
this.isActive = false;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
if (!isPlatformBrowser(this.platformId))
|
|
16
|
+
return;
|
|
17
|
+
this.spy.register(this);
|
|
18
|
+
this.onScrollY(this.rootScrollTop());
|
|
19
|
+
}
|
|
20
|
+
ngOnDestroy() {
|
|
21
|
+
this.spy.unregister(this);
|
|
22
|
+
}
|
|
23
|
+
// ==== Eventos ====
|
|
24
|
+
onClick(ev) {
|
|
25
|
+
ev.preventDefault();
|
|
26
|
+
this.scrollToTarget(false);
|
|
27
|
+
}
|
|
28
|
+
onKey(ev) {
|
|
29
|
+
ev.preventDefault();
|
|
30
|
+
this.scrollToTarget(false);
|
|
31
|
+
}
|
|
32
|
+
// ==== Helpers ====
|
|
33
|
+
attr(name) {
|
|
34
|
+
return this.el.nativeElement.getAttribute(name);
|
|
35
|
+
}
|
|
36
|
+
spacerBase() {
|
|
37
|
+
const raw = this.attr('data-scroll_spacer');
|
|
38
|
+
const n = raw ? parseInt(raw, 10) : 0;
|
|
39
|
+
return Number.isFinite(n) ? n : 0;
|
|
40
|
+
}
|
|
41
|
+
widthAdj(onScroll) {
|
|
42
|
+
if (!isPlatformBrowser(this.platformId))
|
|
43
|
+
return 0;
|
|
44
|
+
const w = window.innerWidth || document.documentElement.clientWidth || 0;
|
|
45
|
+
if (onScroll) {
|
|
46
|
+
if (w >= 768)
|
|
47
|
+
return 30;
|
|
48
|
+
if (w >= 540)
|
|
49
|
+
return 20;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (w >= 768)
|
|
53
|
+
return 20;
|
|
54
|
+
if (w >= 540)
|
|
55
|
+
return 10;
|
|
56
|
+
}
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
targetEl() {
|
|
60
|
+
const sel = this.attr('data-scroll_to');
|
|
61
|
+
return sel ? document.querySelector(sel) : null;
|
|
62
|
+
}
|
|
63
|
+
/** selector opcional para scroller custom */
|
|
64
|
+
scrollContainer() {
|
|
65
|
+
const sel = this.attr('data-scroll_container');
|
|
66
|
+
if (!sel)
|
|
67
|
+
return null;
|
|
68
|
+
return document.querySelector(sel);
|
|
69
|
+
}
|
|
70
|
+
rootScrollTop() {
|
|
71
|
+
if (!isPlatformBrowser(this.platformId))
|
|
72
|
+
return 0;
|
|
73
|
+
const se = document.scrollingElement;
|
|
74
|
+
return se
|
|
75
|
+
? se.scrollTop
|
|
76
|
+
: window.pageYOffset || document.documentElement.scrollTop || 0;
|
|
77
|
+
}
|
|
78
|
+
pageTop(el) {
|
|
79
|
+
if (!isPlatformBrowser(this.platformId))
|
|
80
|
+
return 0;
|
|
81
|
+
const rect = el.getBoundingClientRect();
|
|
82
|
+
const pageY = window.pageYOffset || document.documentElement.scrollTop || 0;
|
|
83
|
+
return rect.top + pageY;
|
|
84
|
+
}
|
|
85
|
+
computeScrollTop(onScroll) {
|
|
86
|
+
if (!isPlatformBrowser(this.platformId))
|
|
87
|
+
return null;
|
|
88
|
+
const target = this.targetEl();
|
|
89
|
+
if (!target)
|
|
90
|
+
return null;
|
|
91
|
+
const spacer = this.spacerBase() + this.widthAdj(onScroll);
|
|
92
|
+
// 1) Si hay contenedor custom, calculamos relativo a él
|
|
93
|
+
const container = this.scrollContainer();
|
|
94
|
+
if (container) {
|
|
95
|
+
const targetPage = this.pageTop(target);
|
|
96
|
+
const containerPage = this.pageTop(container);
|
|
97
|
+
// posición del target dentro del contenedor + scroll actual del contenedor
|
|
98
|
+
const relative = targetPage - containerPage;
|
|
99
|
+
const top = relative - spacer;
|
|
100
|
+
return { scroller: container, top: top < 0 ? 0 : top };
|
|
101
|
+
}
|
|
102
|
+
// 2) Por defecto: documento (como $('html, body'))
|
|
103
|
+
const top = this.pageTop(target) - spacer;
|
|
104
|
+
return { scroller: window, top: top < 0 ? 0 : top };
|
|
105
|
+
}
|
|
106
|
+
scrollToTarget(fromScrollHandler) {
|
|
107
|
+
if (!isPlatformBrowser(this.platformId))
|
|
108
|
+
return;
|
|
109
|
+
const data = this.computeScrollTop(false);
|
|
110
|
+
if (!data)
|
|
111
|
+
return;
|
|
112
|
+
const behavior = window.matchMedia?.('(prefers-reduced-motion: reduce)').matches
|
|
113
|
+
? 'auto'
|
|
114
|
+
: 'smooth';
|
|
115
|
+
if (data.scroller instanceof HTMLElement) {
|
|
116
|
+
data.scroller.scrollTo({ top: data.top, behavior });
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
window.scrollTo({ top: data.top, behavior });
|
|
120
|
+
}
|
|
121
|
+
if (this.groupIsActive() && !fromScrollHandler)
|
|
122
|
+
this.activateSelfAndDeactivateSiblings();
|
|
123
|
+
}
|
|
124
|
+
groupIsActive() {
|
|
125
|
+
const ul = this.el.nativeElement.closest('ul');
|
|
126
|
+
return ul?.getAttribute('data-scroll_active') === 'true';
|
|
127
|
+
}
|
|
128
|
+
activateSelfAndDeactivateSiblings() {
|
|
129
|
+
this.isActive = true;
|
|
130
|
+
if (!this.groupIsActive())
|
|
131
|
+
return;
|
|
132
|
+
const parent = this.el.nativeElement.parentElement;
|
|
133
|
+
if (!parent)
|
|
134
|
+
return;
|
|
135
|
+
Array.from(parent.children).forEach((ch) => {
|
|
136
|
+
if (ch !== this.el.nativeElement)
|
|
137
|
+
ch.classList.remove('active');
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
// ==== ScrollSpyTarget ====
|
|
141
|
+
onScrollY(scrollY) {
|
|
142
|
+
if (!isPlatformBrowser(this.platformId))
|
|
143
|
+
return;
|
|
144
|
+
const target = this.targetEl();
|
|
145
|
+
if (!target)
|
|
146
|
+
return;
|
|
147
|
+
const style = window.getComputedStyle(target);
|
|
148
|
+
if (style.display === 'none') {
|
|
149
|
+
this.isActive = false;
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
// Para marcar activo baste con usar la ventana
|
|
153
|
+
const data = this.computeScrollTop(true);
|
|
154
|
+
if (!data)
|
|
155
|
+
return;
|
|
156
|
+
const top = data.scroller instanceof HTMLElement
|
|
157
|
+
? this.rootScrollTop()
|
|
158
|
+
: data.top;
|
|
159
|
+
const height = Math.max(target.offsetHeight, 1);
|
|
160
|
+
const inRange = scrollY >= data.top && scrollY < data.top + height;
|
|
161
|
+
if (this.groupIsActive())
|
|
162
|
+
this.isActive = inRange;
|
|
163
|
+
}
|
|
164
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollToDirective, deps: [{ token: i0.ElementRef }, { token: i1.ScrollSpyService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
165
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ScrollToDirective, isStandalone: true, selector: ".js-scrollto,[appScrollTo]", host: { listeners: { "click": "onClick($event)", "keydown.enter": "onKey($event)", "keydown.space": "onKey($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex", "class.active": "this.isActive" } }, ngImport: i0 }); }
|
|
166
|
+
}
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollToDirective, decorators: [{
|
|
168
|
+
type: Directive,
|
|
169
|
+
args: [{
|
|
170
|
+
selector: '.js-scrollto,[appScrollTo]',
|
|
171
|
+
standalone: true,
|
|
172
|
+
}]
|
|
173
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ScrollSpyService }, { type: undefined, decorators: [{
|
|
174
|
+
type: Inject,
|
|
175
|
+
args: [PLATFORM_ID]
|
|
176
|
+
}] }], propDecorators: { role: [{
|
|
177
|
+
type: HostBinding,
|
|
178
|
+
args: ['attr.role']
|
|
179
|
+
}], tabindex: [{
|
|
180
|
+
type: HostBinding,
|
|
181
|
+
args: ['attr.tabindex']
|
|
182
|
+
}], isActive: [{
|
|
183
|
+
type: HostBinding,
|
|
184
|
+
args: ['class.active']
|
|
185
|
+
}], onClick: [{
|
|
186
|
+
type: HostListener,
|
|
187
|
+
args: ['click', ['$event']]
|
|
188
|
+
}], onKey: [{
|
|
189
|
+
type: HostListener,
|
|
190
|
+
args: ['keydown.enter', ['$event']]
|
|
191
|
+
}, {
|
|
192
|
+
type: HostListener,
|
|
193
|
+
args: ['keydown.space', ['$event']]
|
|
194
|
+
}] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXRvLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL3Njcm9sbHMvc2Nyb2xsLXRvLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsU0FBUyxFQUVULFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUdOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQzs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUFLMUIsWUFDWSxFQUEyQixFQUMzQixHQUFxQixFQUNBLFVBQWtCO1FBRnZDLE9BQUUsR0FBRixFQUFFLENBQXlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQ0EsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQVB6QixTQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ1osYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBTTNDLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFBRSxPQUFPO1FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsb0JBQW9CO0lBRXBCLE9BQU8sQ0FBQyxFQUFTO1FBQ2IsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7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LElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQ3RELENBQUM7K0dBNUtRLGlCQUFpQiw0RUFRZCxXQUFXO21HQVJkLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQVNRLE1BQU07MkJBQUMsV0FBVzt5Q0FQRyxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ00sUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUNDLFFBQVE7c0JBQXBDLFdBQVc7dUJBQUMsY0FBYztnQkFvQjNCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUWpDLEtBQUs7c0JBRkosWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN4QyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgU2Nyb2xsU3B5U2VydmljZSxcbiAgICBTY3JvbGxTcHlUYXJnZXQsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Njcm9sbC9zY3JvbGwtc3B5LnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJy5qcy1zY3JvbGx0byxbYXBwU2Nyb2xsVG9dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxUb0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBTY3JvbGxTcHlUYXJnZXQge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdidXR0b24nO1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4ID0gJzAnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJykgaXNBY3RpdmUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBzcHk6IFNjcm9sbFNweVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0XG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnNweS5yZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgdGhpcy5vblNjcm9sbFkodGhpcy5yb290U2Nyb2xsVG9wKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNweS51bnJlZ2lzdGVyKHRoaXMpO1xuICAgIH1cblxuICAgIC8vID09PT0gRXZlbnRvcyA9PT09XG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXY6IEV2ZW50KSB7XG4gICAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9UYXJnZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICAgIG9uS2V5KGV2OiBFdmVudCkge1xuICAgICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnNjcm9sbFRvVGFyZ2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyA9PT09IEhlbHBlcnMgPT09PVxuICAgIHByaXZhdGUgYXR0cihuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzcGFjZXJCYXNlKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJhdyA9IHRoaXMuYXR0cignZGF0YS1zY3JvbGxfc3BhY2VyJyk7XG4gICAgICAgIGNvbnN0IG4gPSByYXcgPyBwYXJzZUludChyYXcsIDEwKSA6IDA7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobikgPyBuIDogMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdpZHRoQWRqKG9uU2Nyb2xsOiBib29sZWFuKTogbnVtYmVyIHtcbiAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIDA7XG5cbiAgICAgICAgY29uc3QgdyA9XG4gICAgICAgICAgICB3aW5kb3cuaW5uZXJXaWR0aCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgMDtcbiAgICAgICAgaWYgKG9uU2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAodyA+PSA3NjgpIHJldHVybiAzMDtcbiAgICAgICAgICAgIGlmICh3ID49IDU0MCkgcmV0dXJuIDIwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHcgPj0gNzY4KSByZXR1cm4gMjA7XG4gICAgICAgICAgICBpZiAodyA+PSA1NDApIHJldHVybiAxMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhcmdldEVsKCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHNlbCA9IHRoaXMuYXR0cignZGF0YS1zY3JvbGxfdG8nKTtcbiAgICAgICAgcmV0dXJuIHNlbCA/IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbCkgYXMgSFRNTEVsZW1lbnQgfCBudWxsKSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIHNlbGVjdG9yIG9wY2lvbmFsIHBhcmEgc2Nyb2xsZXIgY3VzdG9tICovXG4gICAgcHJpdmF0ZSBzY3JvbGxDb250YWluZXIoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc2VsID0gdGhpcy5hdHRyKCdkYXRhLXNjcm9sbF9jb250YWluZXInKTtcbiAgICAgICAgaWYgKCFzZWwpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWwpIGFzIEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvb3RTY3JvbGxUb3AoKTogbnVtYmVyIHtcbiAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIDA7XG4gICAgICAgIGNvbnN0IHNlID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudCBhcyBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgICAgIHJldHVybiBzZVxuICAgICAgICAgICAgPyBzZS5zY3JvbGxUb3BcbiAgICAgICAgICAgIDogd2luZG93LnBhZ2VZT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhZ2VUb3AoZWw6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSByZXR1cm4gMDtcbiAgICAgICAgY29uc3QgcmVjdCA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBwYWdlWSA9XG4gICAgICAgICAgICB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCAwO1xuICAgICAgICByZXR1cm4gcmVjdC50b3AgKyBwYWdlWTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVTY3JvbGxUb3AoXG4gICAgICAgIG9uU2Nyb2xsOiBib29sZWFuXG4gICAgKTogeyBzY3JvbGxlcjogSFRNTEVsZW1lbnQgfCBXaW5kb3c7IHRvcDogbnVtYmVyIH0gfCBudWxsIHtcbiAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuIG51bGw7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0RWwoKTtcbiAgICAgICAgaWYgKCF0YXJnZXQpIHJldHVybiBudWxsO1xuXG4gICAgICAgIGNvbnN0IHNwYWNlciA9IHRoaXMuc3BhY2VyQmFzZSgpICsgdGhpcy53aWR0aEFkaihvblNjcm9sbCk7XG5cbiAgICAgICAgLy8gMSkgU2kgaGF5IGNvbnRlbmVkb3IgY3VzdG9tLCBjYWxjdWxhbW9zIHJlbGF0aXZvIGEgw6lsXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyKCk7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhZ2UgPSB0aGlzLnBhZ2VUb3AodGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclBhZ2UgPSB0aGlzLnBhZ2VUb3AoY29udGFpbmVyKTtcbiAgICAgICAgICAgIC8vIHBvc2ljacOzbiBkZWwgdGFyZ2V0IGRlbnRybyBkZWwgY29udGVuZWRvciArIHNjcm9sbCBhY3R1YWwgZGVsIGNvbnRlbmVkb3JcbiAgICAgICAgICAgIGNvbnN0IHJlbGF0aXZlID0gdGFyZ2V0UGFnZSAtIGNvbnRhaW5lclBhZ2U7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSByZWxhdGl2ZSAtIHNwYWNlcjtcbiAgICAgICAgICAgIHJldHVybiB7IHNjcm9sbGVyOiBjb250YWluZXIsIHRvcDogdG9wIDwgMCA/IDAgOiB0b3AgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDIpIFBvciBkZWZlY3RvOiBkb2N1bWVudG8gKGNvbW8gJCgnaHRtbCwgYm9keScpKVxuICAgICAgICBjb25zdCB0b3AgPSB0aGlzLnBhZ2VUb3AodGFyZ2V0KSAtIHNwYWNlcjtcbiAgICAgICAgcmV0dXJuIHsgc2Nyb2xsZXI6IHdpbmRvdywgdG9wOiB0b3AgPCAwID8gMCA6IHRvcCB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2Nyb2xsVG9UYXJnZXQoZnJvbVNjcm9sbEhhbmRsZXI6IGJvb2xlYW4pIHtcbiAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5jb21wdXRlU2Nyb2xsVG9wKGZhbHNlKTtcbiAgICAgICAgaWYgKCFkYXRhKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgYmVoYXZpb3I6IFNjcm9sbEJlaGF2aW9yID0gd2luZG93Lm1hdGNoTWVkaWE/LihcbiAgICAgICAgICAgICcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSdcbiAgICAgICAgKS5tYXRjaGVzXG4gICAgICAgICAgICA/ICdhdXRvJ1xuICAgICAgICAgICAgOiAnc21vb3RoJztcblxuICAgICAgICBpZiAoZGF0YS5zY3JvbGxlciBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICBkYXRhLnNjcm9sbGVyLnNjcm9sbFRvKHsgdG9wOiBkYXRhLnRvcCwgYmVoYXZpb3IgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IGRhdGEudG9wLCBiZWhhdmlvciB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmdyb3VwSXNBY3RpdmUoKSAmJiAhZnJvbVNjcm9sbEhhbmRsZXIpXG4gICAgICAgICAgICB0aGlzLmFjdGl2YXRlU2VsZkFuZERlYWN0aXZhdGVTaWJsaW5ncygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ3JvdXBJc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgdWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xvc2VzdCgndWwnKTtcbiAgICAgICAgcmV0dXJuIHVsPy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc2Nyb2xsX2FjdGl2ZScpID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZVNlbGZBbmREZWFjdGl2YXRlU2libGluZ3MoKSB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICBpZiAoIXRoaXMuZ3JvdXBJc0FjdGl2ZSgpKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBpZiAoIXBhcmVudCkgcmV0dXJuO1xuICAgICAgICBBcnJheS5mcm9tKHBhcmVudC5jaGlsZHJlbikuZm9yRWFjaCgoY2gpID0+IHtcbiAgICAgICAgICAgIGlmIChjaCAhPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50KSBjaC5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gPT09PSBTY3JvbGxTcHlUYXJnZXQgPT09PVxuICAgIG9uU2Nyb2xsWShzY3JvbGxZOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGlmICghaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkgcmV0dXJuO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldEVsKCk7XG4gICAgICAgIGlmICghdGFyZ2V0KSByZXR1cm47XG4gICAgICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFyZ2V0KTtcbiAgICAgICAgaWYgKHN0eWxlLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgICAgICAgdGhpcy5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGFyYSBtYXJjYXIgYWN0aXZvIGJhc3RlIGNvbiB1c2FyIGxhIHZlbnRhbmFcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuY29tcHV0ZVNjcm9sbFRvcCh0cnVlKTtcbiAgICAgICAgaWYgKCFkYXRhKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHRvcCA9XG4gICAgICAgICAgICBkYXRhLnNjcm9sbGVyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnRcbiAgICAgICAgICAgICAgICA/IHRoaXMucm9vdFNjcm9sbFRvcCgpXG4gICAgICAgICAgICAgICAgOiBkYXRhLnRvcDtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5tYXgodGFyZ2V0Lm9mZnNldEhlaWdodCwgMSk7XG4gICAgICAgIGNvbnN0IGluUmFuZ2UgPSBzY3JvbGxZID49IGRhdGEudG9wICYmIHNjcm9sbFkgPCBkYXRhLnRvcCArIGhlaWdodDtcblxuICAgICAgICBpZiAodGhpcy5ncm91cElzQWN0aXZlKCkpIHRoaXMuaXNBY3RpdmUgPSBpblJhbmdlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { Directive, HostListener, inject, PLATFORM_ID } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BabylonScrollUpDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.platformId = inject(PLATFORM_ID);
|
|
7
|
+
}
|
|
8
|
+
onClick(event) {
|
|
9
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
10
|
+
event.preventDefault();
|
|
11
|
+
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonScrollUpDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BabylonScrollUpDirective, isStandalone: true, selector: "[scrollUp]", host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 }); }
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonScrollUpDirective, decorators: [{
|
|
18
|
+
type: Directive,
|
|
19
|
+
args: [{
|
|
20
|
+
selector: '[scrollUp]',
|
|
21
|
+
standalone: true,
|
|
22
|
+
}]
|
|
23
|
+
}], propDecorators: { onClick: [{
|
|
24
|
+
type: HostListener,
|
|
25
|
+
args: ['click', ['$event']]
|
|
26
|
+
}] } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLXVwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL3Njcm9sbHMvc2Nyb2xsLXVwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU03RSxNQUFNLE9BQU8sd0JBQXdCO0lBSnJDO1FBS1ksZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQVM1QztJQU5HLE9BQU8sQ0FBQyxLQUFZO1FBQ2hCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNuRDtJQUNMLENBQUM7K0dBVFEsd0JBQXdCO21HQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFLRyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbc2Nyb2xsVXBdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uU2Nyb2xsVXBEaXJlY3RpdmUge1xuICAgIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|