ctt-babylon 0.8.12 → 0.8.13

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.
Files changed (784) hide show
  1. package/esm2022/lib/Enum/buttons-type.enum.mjs +6 -0
  2. package/esm2022/lib/Enum/index.mjs +3 -0
  3. package/esm2022/lib/Enum/logo-type.enum.mjs +10 -0
  4. package/esm2022/lib/Enum/services.enum.mjs +8 -0
  5. package/esm2022/lib/Enum/views.enum.mjs +5 -0
  6. package/esm2022/lib/components/core/babylon-404/babylon-404.component.mjs +18 -5
  7. package/esm2022/lib/components/core/babylon-404/babylon-404.interface.mjs +2 -0
  8. package/esm2022/lib/components/core/babylon-404/index.mjs +3 -0
  9. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.component.mjs +30 -0
  10. package/esm2022/lib/components/core/babylon-action-banner/babylon-action-banner.interface.mjs +2 -0
  11. package/esm2022/lib/components/core/babylon-action-banner/index.mjs +3 -0
  12. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages-info.interface.mjs +2 -0
  13. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.component.mjs +29 -5
  14. package/esm2022/lib/components/core/babylon-advantages/babylon-advantages.interface.mjs +2 -0
  15. package/esm2022/lib/components/core/babylon-advantages/index.mjs +4 -0
  16. package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.mjs +31 -5
  17. package/esm2022/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.mjs +2 -0
  18. package/esm2022/lib/components/core/babylon-banner-gallery/index.mjs +3 -0
  19. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.component.mjs +133 -6
  20. package/esm2022/lib/components/core/babylon-banner-info/babylon-banner-info.interface.mjs +2 -0
  21. package/esm2022/lib/components/core/babylon-banner-info/index.mjs +3 -0
  22. package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.mjs +39 -5
  23. package/esm2022/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.mjs +2 -0
  24. package/esm2022/lib/components/core/babylon-banner-newsletter/index.mjs +3 -0
  25. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.component.mjs +98 -5
  26. package/esm2022/lib/components/core/babylon-blog-details/babylon-blog-details.interface.mjs +2 -0
  27. package/esm2022/lib/components/core/babylon-blog-details/index.mjs +3 -0
  28. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.component.mjs +80 -6
  29. package/esm2022/lib/components/core/babylon-blog-list/babylon-blog-list.interface.mjs +2 -0
  30. package/esm2022/lib/components/core/babylon-blog-list/index.mjs +3 -0
  31. package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.mjs +14 -5
  32. package/esm2022/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.mjs +2 -0
  33. package/esm2022/lib/components/core/babylon-breadcrumb/index.mjs +3 -0
  34. package/esm2022/lib/components/core/babylon-color-picker/babylon-color-picker.component.mjs +267 -0
  35. package/esm2022/lib/components/core/babylon-color-picker/index.mjs +2 -0
  36. package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.mjs +10 -5
  37. package/esm2022/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.mjs +2 -0
  38. package/esm2022/lib/components/core/babylon-comingsoon/index.mjs +3 -0
  39. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.component.mjs +19 -0
  40. package/esm2022/lib/components/core/babylon-contact-address/babylon-contact-address.interface.mjs +2 -0
  41. package/esm2022/lib/components/core/babylon-contact-address/index.mjs +3 -0
  42. package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.component.mjs +134 -20
  43. package/esm2022/lib/components/core/babylon-contact-form/babylon-contact-form.interface.mjs +2 -0
  44. package/esm2022/lib/components/core/babylon-contact-form/index.mjs +3 -0
  45. package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.component.mjs +23 -6
  46. package/esm2022/lib/components/core/babylon-contact-how/babylon-contact-how.interface.mjs +2 -0
  47. package/esm2022/lib/components/core/babylon-contact-how/index.mjs +3 -0
  48. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.component.mjs +29 -6
  49. package/esm2022/lib/components/core/babylon-contact-map/babylon-contact-map.interface.mjs +2 -0
  50. package/esm2022/lib/components/core/babylon-contact-map/index.mjs +3 -0
  51. package/esm2022/lib/components/core/babylon-engine/babylon-engine.component.mjs +237 -22
  52. package/esm2022/lib/components/core/babylon-engine/babylon-engine.interface.mjs +2 -0
  53. package/esm2022/lib/components/core/babylon-engine/index.mjs +3 -0
  54. package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.mjs +225 -33
  55. package/esm2022/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.mjs +2 -0
  56. package/esm2022/lib/components/core/babylon-engine-modal/index.mjs +3 -0
  57. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.component.mjs +80 -0
  58. package/esm2022/lib/components/core/babylon-external-script/babylon-external-script.interface.mjs +2 -0
  59. package/esm2022/lib/components/core/babylon-external-script/index.mjs +3 -0
  60. package/esm2022/lib/components/core/babylon-faq/babylon-faq.component.mjs +38 -5
  61. package/esm2022/lib/components/core/babylon-faq/babylon-faq.interface.mjs +2 -0
  62. package/esm2022/lib/components/core/babylon-faq/index.mjs +3 -0
  63. package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.component.mjs +28 -6
  64. package/esm2022/lib/components/core/babylon-features-slider/babylon-features-slider.interface.mjs +2 -0
  65. package/esm2022/lib/components/core/babylon-features-slider/index.mjs +3 -0
  66. package/esm2022/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.mjs +16 -6
  67. package/esm2022/lib/components/core/babylon-filter-modal/index.mjs +2 -0
  68. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.mjs +121 -0
  69. package/esm2022/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.mjs +2 -0
  70. package/esm2022/lib/components/core/babylon-floating-buttons/index.mjs +3 -0
  71. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.mjs +25 -5
  72. package/esm2022/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.mjs +2 -0
  73. package/esm2022/lib/components/core/babylon-footer-contact/index.mjs +3 -0
  74. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.component.mjs +13 -5
  75. package/esm2022/lib/components/core/babylon-footer-links/babylon-footer-links.interface.mjs +2 -0
  76. package/esm2022/lib/components/core/babylon-footer-links/index.mjs +3 -0
  77. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.mjs +23 -5
  78. package/esm2022/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.mjs +2 -0
  79. package/esm2022/lib/components/core/babylon-footer-logos/index.mjs +3 -0
  80. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.component.mjs +14 -5
  81. package/esm2022/lib/components/core/babylon-footer-social/babylon-footer-social.interface.mjs +3 -0
  82. package/esm2022/lib/components/core/babylon-footer-social/index.mjs +3 -0
  83. package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.component.mjs +72 -23
  84. package/esm2022/lib/components/core/babylon-gallery/babylon-gallery.interface.mjs +2 -0
  85. package/esm2022/lib/components/core/babylon-gallery/index.mjs +3 -0
  86. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.component.mjs +38 -0
  87. package/esm2022/lib/components/core/babylon-global-modal/babylon-global-modal.interface.mjs +2 -0
  88. package/esm2022/lib/components/core/babylon-global-modal/index.mjs +3 -0
  89. package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.mjs +42 -6
  90. package/esm2022/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.mjs +2 -0
  91. package/esm2022/lib/components/core/babylon-grid-gallery/index.mjs +3 -0
  92. package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.mjs +91 -7
  93. package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +2 -0
  94. package/esm2022/lib/components/core/babylon-guests-popup/index.mjs +3 -0
  95. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.component.mjs +24 -5
  96. package/esm2022/lib/components/core/babylon-head-intro/babylon-head-intro.interface.mjs +2 -0
  97. package/esm2022/lib/components/core/babylon-head-intro/index.mjs +3 -0
  98. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.mjs +114 -52
  99. package/esm2022/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.mjs +2 -0
  100. package/esm2022/lib/components/core/babylon-header-book-show/index.mjs +3 -0
  101. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.component.mjs +143 -53
  102. package/esm2022/lib/components/core/babylon-header-clear/babylon-header-clear.interface.mjs +2 -0
  103. package/esm2022/lib/components/core/babylon-header-clear/index.mjs +3 -0
  104. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.mjs +148 -52
  105. package/esm2022/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.mjs +2 -0
  106. package/esm2022/lib/components/core/babylon-header-menu-center/index.mjs +3 -0
  107. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.mjs +122 -0
  108. package/esm2022/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.mjs +2 -0
  109. package/esm2022/lib/components/core/babylon-header-menu-logo-center/index.mjs +3 -0
  110. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.mjs +92 -52
  111. package/esm2022/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.mjs +2 -0
  112. package/esm2022/lib/components/core/babylon-header-menu-show/index.mjs +3 -0
  113. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.mjs +156 -0
  114. package/esm2022/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.mjs +2 -0
  115. package/esm2022/lib/components/core/babylon-header-mobile/index.mjs +3 -0
  116. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotel.interface.mjs +2 -0
  117. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.mjs +12 -5
  118. package/esm2022/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.mjs +2 -0
  119. package/esm2022/lib/components/core/babylon-hotels-list/index.mjs +4 -0
  120. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.mjs +19 -6
  121. package/esm2022/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.mjs +2 -0
  122. package/esm2022/lib/components/core/babylon-hotels-slider/index.mjs +3 -0
  123. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.component.mjs +19 -5
  124. package/esm2022/lib/components/core/babylon-info-big/babylon-info-big.interface.mjs +2 -0
  125. package/esm2022/lib/components/core/babylon-info-big/index.mjs +3 -0
  126. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.component.mjs +31 -7
  127. package/esm2022/lib/components/core/babylon-info-grid/babylon-info-grid.interface.mjs +3 -0
  128. package/esm2022/lib/components/core/babylon-info-grid/index.mjs +3 -0
  129. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.component.mjs +95 -5
  130. package/esm2022/lib/components/core/babylon-info-img/babylon-info-img.interface.mjs +2 -0
  131. package/esm2022/lib/components/core/babylon-info-img/index.mjs +3 -0
  132. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.mjs +56 -0
  133. package/esm2022/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.mjs +2 -0
  134. package/esm2022/lib/components/core/babylon-info-img-slider/index.mjs +3 -0
  135. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.component.mjs +62 -5
  136. package/esm2022/lib/components/core/babylon-info-intro/babylon-info-intro.interface.mjs +2 -0
  137. package/esm2022/lib/components/core/babylon-info-intro/index.mjs +3 -0
  138. package/esm2022/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.mjs +7 -5
  139. package/esm2022/lib/components/core/babylon-info-show-img/index.mjs +2 -0
  140. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.mjs +31 -5
  141. package/esm2022/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.mjs +2 -0
  142. package/esm2022/lib/components/core/babylon-info-zig-zag/index.mjs +3 -0
  143. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.mjs +92 -0
  144. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.mjs +2 -0
  145. package/esm2022/lib/components/core/babylon-info-zig-zag-counter/index.mjs +3 -0
  146. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.mjs +19 -5
  147. package/esm2022/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.mjs +2 -0
  148. package/esm2022/lib/components/core/babylon-info-zigzag-v2/index.mjs +3 -0
  149. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.mjs +36 -0
  150. package/esm2022/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.mjs +2 -0
  151. package/esm2022/lib/components/core/babylon-info2col-img/index.mjs +3 -0
  152. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.component.mjs +30 -5
  153. package/esm2022/lib/components/core/babylon-info2img/babylon-info2img.interface.mjs +2 -0
  154. package/esm2022/lib/components/core/babylon-info2img/index.mjs +3 -0
  155. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.mjs +38 -5
  156. package/esm2022/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.mjs +2 -0
  157. package/esm2022/lib/components/core/babylon-info2img-big/index.mjs +3 -0
  158. package/esm2022/lib/components/core/babylon-info3img/babylon-info3img.component.mjs +19 -5
  159. package/esm2022/lib/components/core/babylon-info3img/index.mjs +2 -0
  160. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.component.mjs +23 -5
  161. package/esm2022/lib/components/core/babylon-info4img/babylon-info4img.interface.mjs +2 -0
  162. package/esm2022/lib/components/core/babylon-info4img/index.mjs +3 -0
  163. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.component.mjs +21 -5
  164. package/esm2022/lib/components/core/babylon-items-grid/babylon-items-grid.interface.mjs +2 -0
  165. package/esm2022/lib/components/core/babylon-items-grid/index.mjs +3 -0
  166. package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.component.mjs +13 -7
  167. package/esm2022/lib/components/core/babylon-language-modal/babylon-language-modal.interface.mjs +2 -0
  168. package/esm2022/lib/components/core/babylon-language-modal/index.mjs +3 -0
  169. package/esm2022/lib/components/core/babylon-legal/babylon-legal.component.mjs +19 -5
  170. package/esm2022/lib/components/core/babylon-legal/babylon-legal.interface.mjs +2 -0
  171. package/esm2022/lib/components/core/babylon-legal/index.mjs +3 -0
  172. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.component.mjs +15 -5
  173. package/esm2022/lib/components/core/babylon-list-grid/babylon-list-grid.interface.mjs +3 -0
  174. package/esm2022/lib/components/core/babylon-list-grid/index.mjs +3 -0
  175. package/esm2022/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.mjs +139 -0
  176. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.mjs +35 -0
  177. package/esm2022/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.mjs +2 -0
  178. package/esm2022/lib/components/core/babylon-modal-multiple-motors/index.mjs +3 -0
  179. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.mjs +39 -0
  180. package/esm2022/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.mjs +2 -0
  181. package/esm2022/lib/components/core/babylon-modal-popup/index.mjs +3 -0
  182. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.component.mjs +52 -9
  183. package/esm2022/lib/components/core/babylon-newsletter/babylon-newsletter.interface.mjs +3 -0
  184. package/esm2022/lib/components/core/babylon-newsletter/index.mjs +3 -0
  185. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.mjs +37 -5
  186. package/esm2022/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.mjs +2 -0
  187. package/esm2022/lib/components/core/babylon-offer-detail/index.mjs +3 -0
  188. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.mjs +34 -11
  189. package/esm2022/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.mjs +2 -0
  190. package/esm2022/lib/components/core/babylon-offer-popup/index.mjs +3 -0
  191. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.mjs +49 -0
  192. package/esm2022/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.mjs +2 -0
  193. package/esm2022/lib/components/core/babylon-offer-popupV2/index.mjs +3 -0
  194. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.mjs +20 -5
  195. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.mjs +2 -0
  196. package/esm2022/lib/components/core/babylon-offer-slider/babylon-offer.interface.mjs +2 -0
  197. package/esm2022/lib/components/core/babylon-offer-slider/index.mjs +4 -0
  198. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.component.mjs +47 -5
  199. package/esm2022/lib/components/core/babylon-offers-list/babylon-offers-list.interface.mjs +2 -0
  200. package/esm2022/lib/components/core/babylon-offers-list/index.mjs +3 -0
  201. package/esm2022/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.mjs +20 -5
  202. package/esm2022/lib/components/core/babylon-offers-slider/index.mjs +2 -0
  203. package/esm2022/lib/components/core/babylon-preload/babylon-preload.component.mjs +28 -4
  204. package/esm2022/lib/components/core/babylon-preload/index.mjs +2 -0
  205. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.component.mjs +27 -0
  206. package/esm2022/lib/components/core/babylon-press-list/babylon-press-list.interface.mjs +2 -0
  207. package/esm2022/lib/components/core/babylon-press-list/index.mjs +3 -0
  208. package/esm2022/lib/components/core/babylon-room-details/babylon-room-detail.interface.mjs +2 -0
  209. package/esm2022/lib/components/core/babylon-room-details/babylon-room-details.component.mjs +19 -5
  210. package/esm2022/lib/components/core/babylon-room-details/index.mjs +3 -0
  211. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.mjs +158 -5
  212. package/esm2022/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.mjs +2 -0
  213. package/esm2022/lib/components/core/babylon-rooms-cols/index.mjs +3 -0
  214. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.mjs +19 -6
  215. package/esm2022/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.mjs +2 -0
  216. package/esm2022/lib/components/core/babylon-rooms-grid/index.mjs +3 -0
  217. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.mjs +32 -6
  218. package/esm2022/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.mjs +2 -0
  219. package/esm2022/lib/components/core/babylon-rooms-list/index.mjs +3 -0
  220. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-room.interface.mjs +2 -0
  221. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.mjs +25 -5
  222. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.mjs +2 -0
  223. package/esm2022/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.mjs +2 -0
  224. package/esm2022/lib/components/core/babylon-rooms-slider/index.mjs +5 -0
  225. package/esm2022/lib/components/core/babylon-services-slider/babylon-service-slider.interface.mjs +2 -0
  226. package/esm2022/lib/components/core/babylon-services-slider/babylon-services-slider.component.mjs +17 -5
  227. package/esm2022/lib/components/core/babylon-services-slider/index.mjs +3 -0
  228. package/esm2022/lib/components/core/babylon-slider2col/babylon-slider2col.component.mjs +28 -5
  229. package/esm2022/lib/components/core/babylon-slider2col/index.mjs +2 -0
  230. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.component.mjs +15 -5
  231. package/esm2022/lib/components/core/babylon-slider2items/babylon-slider2items.interface.mjs +2 -0
  232. package/esm2022/lib/components/core/babylon-slider2items/index.mjs +3 -0
  233. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3col.component.mjs +53 -0
  234. package/esm2022/lib/components/core/babylon-slider3col/index.mjs +2 -0
  235. package/esm2022/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.mjs +11 -0
  236. package/esm2022/lib/components/core/babylon-slider3col-clear/index.mjs +2 -0
  237. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.component.mjs +14 -5
  238. package/esm2022/lib/components/core/babylon-slider3items/babylon-slider3items.interface.mjs +2 -0
  239. package/esm2022/lib/components/core/babylon-slider3items/index.mjs +3 -0
  240. package/esm2022/lib/components/core/babylon-slider4col/babylon-slider4col.component.mjs +37 -5
  241. package/esm2022/lib/components/core/babylon-slider4col/index.mjs +2 -0
  242. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.component.mjs +104 -6
  243. package/esm2022/lib/components/core/babylon-static-footer/babylon-static-footer.interface.mjs +2 -0
  244. package/esm2022/lib/components/core/babylon-static-footer/index.mjs +3 -0
  245. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.mjs +48 -8
  246. package/esm2022/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.mjs +2 -0
  247. package/esm2022/lib/components/core/babylon-static-footer-v2/index.mjs +3 -0
  248. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.mjs +35 -5
  249. package/esm2022/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.mjs +2 -0
  250. package/esm2022/lib/components/core/babylon-submenu-hotel/index.mjs +3 -0
  251. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.component.mjs +18 -5
  252. package/esm2022/lib/components/core/babylon-thanks/babylon-thanks.interface.mjs +2 -0
  253. package/esm2022/lib/components/core/babylon-thanks/index.mjs +3 -0
  254. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.mjs +2 -0
  255. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.component.mjs +187 -5
  256. package/esm2022/lib/components/core/babylon-top-slider/babylon-top-slider.interface.mjs +2 -0
  257. package/esm2022/lib/components/core/babylon-top-slider/index.mjs +4 -0
  258. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.mjs +33 -6
  259. package/esm2022/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.mjs +2 -0
  260. package/esm2022/lib/components/core/babylon-top-slider-thumbs/index.mjs +3 -0
  261. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.mjs +2 -0
  262. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.mjs +22 -5
  263. package/esm2022/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.mjs +2 -0
  264. package/esm2022/lib/components/core/babylon-top-slider-v2/index.mjs +4 -0
  265. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.mjs +194 -5
  266. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.mjs +2 -0
  267. package/esm2022/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.mjs +2 -0
  268. package/esm2022/lib/components/core/babylon-top-slider-video/index.mjs +4 -0
  269. package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.component.mjs +23 -5
  270. package/esm2022/lib/components/core/babylon-webmap/babylon-webmap.interface.mjs +2 -0
  271. package/esm2022/lib/components/core/babylon-webmap/index.mjs +3 -0
  272. package/esm2022/lib/components/core/index.mjs +89 -0
  273. package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.mjs +124 -0
  274. package/esm2022/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.mjs +2 -0
  275. package/esm2022/lib/components/shared/babylon-dynamic-heading/index.mjs +3 -0
  276. package/esm2022/lib/components/shared/babylon-search/babylon-search.component.mjs +82 -0
  277. package/esm2022/lib/components/shared/babylon-search/index.mjs +2 -0
  278. package/esm2022/lib/components/shared/index.mjs +2 -0
  279. package/esm2022/lib/directives/babylon-background-strip/babylon-background-strip.directive.mjs +71 -0
  280. package/esm2022/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.mjs +52 -0
  281. package/esm2022/lib/directives/babylon-galleries/babylon-light-gallery.directive.mjs +107 -0
  282. package/esm2022/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.mjs +60 -0
  283. package/esm2022/lib/directives/babylon-pagination/babylon-pagination.directive.mjs +127 -0
  284. package/esm2022/lib/directives/babylon-sliders/babylon-custom-slider.directive.mjs +62 -0
  285. package/esm2022/lib/directives/babylon-sliders/babylon-hotels-slider.directive.mjs +107 -0
  286. package/esm2022/lib/directives/babylon-sliders/babylon-sliders.directive.mjs +438 -0
  287. package/esm2022/lib/directives/babylon-sliders/babylon-swiper-slider.directive.mjs +107 -0
  288. package/esm2022/lib/directives/data-background/data-background.directive.mjs +32 -0
  289. package/esm2022/lib/directives/link-type/link-type.directive.mjs +287 -0
  290. package/esm2022/lib/directives/scrolls/scroll-up.directive.mjs +27 -0
  291. package/esm2022/lib/interfaces/babylon-button.interface.mjs +2 -0
  292. package/esm2022/lib/interfaces/babylon-consult-type.interface.mjs +2 -0
  293. package/esm2022/lib/interfaces/babylon-dropdown.interface.mjs +2 -0
  294. package/esm2022/lib/interfaces/babylon-global-icon.interface.mjs +2 -0
  295. package/esm2022/lib/interfaces/babylon-image.interface.mjs +2 -0
  296. package/esm2022/lib/interfaces/babylon-input.interface.mjs +2 -0
  297. package/esm2022/lib/interfaces/babylon-menu-button.interface.mjs +2 -0
  298. package/esm2022/lib/interfaces/babylon-menu-info.interface.mjs +2 -0
  299. package/esm2022/lib/interfaces/babylon-page-config.interface.mjs +2 -0
  300. package/esm2022/lib/interfaces/babylon-site-config.interface.mjs +2 -0
  301. package/esm2022/lib/interfaces/babylon-tags.interface.mjs +2 -0
  302. package/esm2022/lib/interfaces/babylon-text-info.interface.mjs +2 -0
  303. package/esm2022/lib/interfaces/babylon-texts-colors.interface.mjs +2 -0
  304. package/esm2022/lib/interfaces/babylon-texts.interface.mjs +2 -0
  305. package/esm2022/lib/interfaces/index.mjs +15 -0
  306. package/esm2022/lib/pipes/babylon-clean-phone.pipe.mjs +14 -0
  307. package/esm2022/lib/pipes/babylon-currency.pipe.mjs +29 -0
  308. package/esm2022/lib/services/color-panel.service.mjs +316 -0
  309. package/esm2022/lib/services/index.mjs +3 -1
  310. package/esm2022/lib/services/mapper/index.mjs +3 -0
  311. package/esm2022/lib/services/mapper/mapper.service.mjs +2553 -0
  312. package/esm2022/lib/services/mapper/mapper.service.token.mjs +3 -0
  313. package/esm2022/lib/services/modals-service/index.mjs +2 -0
  314. package/esm2022/lib/services/modals-service/modals.service.mjs +77 -0
  315. package/esm2022/lib/services/screen-sizer/screen-sizer.service.mjs +46 -35
  316. package/esm2022/lib/utils/complex-links.token.mjs +6 -0
  317. package/esm2022/lib/utils/index.mjs +2 -0
  318. package/esm2022/lib/utils/utils.mjs +153 -0
  319. package/esm2022/public-api.mjs +11 -114
  320. package/fesm2022/ctt-babylon.mjs +9499 -2516
  321. package/fesm2022/ctt-babylon.mjs.map +1 -1
  322. package/lib/Enum/buttons-type.enum.d.ts +4 -0
  323. package/lib/Enum/index.d.ts +2 -0
  324. package/lib/Enum/logo-type.enum.d.ts +8 -0
  325. package/lib/Enum/services.enum.d.ts +6 -0
  326. package/lib/Enum/views.enum.d.ts +3 -0
  327. package/lib/components/core/babylon-404/babylon-404.component.d.ts +8 -1
  328. package/lib/components/core/babylon-404/babylon-404.interface.d.ts +9 -0
  329. package/lib/components/core/babylon-404/index.d.ts +2 -0
  330. package/lib/components/core/babylon-action-banner/babylon-action-banner.component.d.ts +14 -0
  331. package/lib/components/core/babylon-action-banner/babylon-action-banner.interface.d.ts +9 -0
  332. package/lib/components/core/babylon-action-banner/index.d.ts +2 -0
  333. package/lib/components/core/babylon-advantages/babylon-advantages-info.interface.d.ts +5 -0
  334. package/lib/components/core/babylon-advantages/babylon-advantages.component.d.ts +14 -1
  335. package/lib/components/core/babylon-advantages/babylon-advantages.interface.d.ts +13 -0
  336. package/lib/components/core/babylon-advantages/index.d.ts +3 -0
  337. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.component.d.ts +11 -1
  338. package/lib/components/core/babylon-banner-gallery/babylon-banner-gallery.interface.d.ts +9 -0
  339. package/lib/components/core/babylon-banner-gallery/index.d.ts +2 -0
  340. package/lib/components/core/babylon-banner-info/babylon-banner-info.component.d.ts +25 -2
  341. package/lib/components/core/babylon-banner-info/babylon-banner-info.interface.d.ts +10 -0
  342. package/lib/components/core/babylon-banner-info/index.d.ts +2 -0
  343. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.component.d.ts +16 -1
  344. package/lib/components/core/babylon-banner-newsletter/babylon-banner-newsletter.interface.d.ts +9 -0
  345. package/lib/components/core/babylon-banner-newsletter/index.d.ts +2 -0
  346. package/lib/components/core/babylon-blog-details/babylon-blog-details.component.d.ts +39 -1
  347. package/lib/components/core/babylon-blog-details/babylon-blog-details.interface.d.ts +24 -0
  348. package/lib/components/core/babylon-blog-details/index.d.ts +2 -0
  349. package/lib/components/core/babylon-blog-list/babylon-blog-list.component.d.ts +47 -2
  350. package/lib/components/core/babylon-blog-list/babylon-blog-list.interface.d.ts +18 -0
  351. package/lib/components/core/babylon-blog-list/index.d.ts +2 -0
  352. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.component.d.ts +4 -1
  353. package/lib/components/core/babylon-breadcrumb/babylon-breadcrumb.interface.d.ts +4 -0
  354. package/lib/components/core/babylon-breadcrumb/index.d.ts +2 -0
  355. package/lib/components/core/babylon-color-picker/babylon-color-picker.component.d.ts +57 -0
  356. package/lib/components/core/babylon-color-picker/index.d.ts +1 -0
  357. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.component.d.ts +12 -1
  358. package/lib/components/core/babylon-comingsoon/babylon-comingsoon.interface.d.ts +11 -0
  359. package/lib/components/core/babylon-comingsoon/index.d.ts +2 -0
  360. package/lib/components/core/babylon-contact-address/babylon-contact-address.component.d.ts +22 -0
  361. package/lib/components/core/babylon-contact-address/babylon-contact-address.interface.d.ts +4 -0
  362. package/lib/components/core/babylon-contact-address/index.d.ts +2 -0
  363. package/lib/components/core/babylon-contact-form/babylon-contact-form.component.d.ts +35 -6
  364. package/lib/components/core/babylon-contact-form/babylon-contact-form.interface.d.ts +15 -0
  365. package/lib/components/core/babylon-contact-form/index.d.ts +2 -0
  366. package/lib/components/core/babylon-contact-how/babylon-contact-how.component.d.ts +14 -2
  367. package/lib/components/core/babylon-contact-how/babylon-contact-how.interface.d.ts +6 -0
  368. package/lib/components/core/babylon-contact-how/index.d.ts +2 -0
  369. package/lib/components/core/babylon-contact-map/babylon-contact-map.component.d.ts +16 -2
  370. package/lib/components/core/babylon-contact-map/babylon-contact-map.interface.d.ts +8 -0
  371. package/lib/components/core/babylon-contact-map/index.d.ts +2 -0
  372. package/lib/components/core/babylon-engine/babylon-engine.component.d.ts +71 -11
  373. package/lib/components/core/babylon-engine/babylon-engine.interface.d.ts +24 -0
  374. package/lib/components/core/babylon-engine/index.d.ts +2 -0
  375. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.component.d.ts +60 -16
  376. package/lib/components/core/babylon-engine-modal/babylon-engine-modal.interface.d.ts +22 -0
  377. package/lib/components/core/babylon-engine-modal/index.d.ts +2 -0
  378. package/lib/components/core/babylon-external-script/babylon-external-script.component.d.ts +21 -0
  379. package/lib/components/core/babylon-external-script/babylon-external-script.interface.d.ts +5 -0
  380. package/lib/components/core/babylon-external-script/index.d.ts +2 -0
  381. package/lib/components/core/babylon-faq/babylon-faq.component.d.ts +15 -1
  382. package/lib/components/core/babylon-faq/babylon-faq.interface.d.ts +8 -0
  383. package/lib/components/core/babylon-faq/index.d.ts +2 -0
  384. package/lib/components/core/babylon-features-slider/babylon-features-slider.component.d.ts +18 -2
  385. package/lib/components/core/babylon-features-slider/babylon-features-slider.interface.d.ts +8 -0
  386. package/lib/components/core/babylon-features-slider/index.d.ts +2 -0
  387. package/lib/components/core/babylon-filter-modal/babylon-filter-modal.component.d.ts +8 -3
  388. package/lib/components/core/babylon-filter-modal/index.d.ts +1 -0
  389. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.component.d.ts +39 -0
  390. package/lib/components/core/babylon-floating-buttons/babylon-floating-buttons.interface.d.ts +8 -0
  391. package/lib/components/core/babylon-floating-buttons/index.d.ts +2 -0
  392. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.component.d.ts +24 -1
  393. package/lib/components/core/babylon-footer-contact/babylon-footer-contact.interface.d.ts +14 -0
  394. package/lib/components/core/babylon-footer-contact/index.d.ts +2 -0
  395. package/lib/components/core/babylon-footer-links/babylon-footer-links.component.d.ts +5 -1
  396. package/lib/components/core/babylon-footer-links/babylon-footer-links.interface.d.ts +6 -0
  397. package/lib/components/core/babylon-footer-links/index.d.ts +2 -0
  398. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.component.d.ts +11 -1
  399. package/lib/components/core/babylon-footer-logos/babylon-footer-logos.interface.d.ts +7 -0
  400. package/lib/components/core/babylon-footer-logos/index.d.ts +2 -0
  401. package/lib/components/core/babylon-footer-social/babylon-footer-social.component.d.ts +5 -1
  402. package/lib/components/core/babylon-footer-social/babylon-footer-social.interface.d.ts +6 -0
  403. package/lib/components/core/babylon-footer-social/index.d.ts +2 -0
  404. package/lib/components/core/babylon-gallery/babylon-gallery.component.d.ts +34 -8
  405. package/lib/components/core/babylon-gallery/babylon-gallery.interface.d.ts +12 -0
  406. package/lib/components/core/babylon-gallery/index.d.ts +2 -0
  407. package/lib/components/core/babylon-global-modal/babylon-global-modal.component.d.ts +31 -0
  408. package/lib/components/core/babylon-global-modal/babylon-global-modal.interface.d.ts +8 -0
  409. package/lib/components/core/babylon-global-modal/index.d.ts +2 -0
  410. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.component.d.ts +19 -2
  411. package/lib/components/core/babylon-grid-gallery/babylon-grid-gallery.interface.d.ts +8 -0
  412. package/lib/components/core/babylon-grid-gallery/index.d.ts +2 -0
  413. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.component.d.ts +24 -7
  414. package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +11 -0
  415. package/lib/components/core/babylon-guests-popup/index.d.ts +2 -0
  416. package/lib/components/core/babylon-head-intro/babylon-head-intro.component.d.ts +9 -1
  417. package/lib/components/core/babylon-head-intro/babylon-head-intro.interface.d.ts +10 -0
  418. package/lib/components/core/babylon-head-intro/index.d.ts +2 -0
  419. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.component.d.ts +35 -7
  420. package/lib/components/core/babylon-header-book-show/babylon-header-book-show.interface.d.ts +20 -0
  421. package/lib/components/core/babylon-header-book-show/index.d.ts +2 -0
  422. package/lib/components/core/babylon-header-clear/babylon-header-clear.component.d.ts +34 -9
  423. package/lib/components/core/babylon-header-clear/babylon-header-clear.interface.d.ts +22 -0
  424. package/lib/components/core/babylon-header-clear/index.d.ts +2 -0
  425. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.component.d.ts +33 -8
  426. package/lib/components/core/babylon-header-menu-center/babylon-header-menu-center.interface.d.ts +19 -0
  427. package/lib/components/core/babylon-header-menu-center/index.d.ts +2 -0
  428. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.component.d.ts +40 -0
  429. package/lib/components/core/babylon-header-menu-logo-center/babylon-header-menu-logo-center.interface.d.ts +23 -0
  430. package/lib/components/core/babylon-header-menu-logo-center/index.d.ts +2 -0
  431. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.component.d.ts +29 -8
  432. package/lib/components/core/babylon-header-menu-show/babylon-header-menu-show.interface.d.ts +18 -0
  433. package/lib/components/core/babylon-header-menu-show/index.d.ts +2 -0
  434. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.component.d.ts +53 -0
  435. package/lib/components/core/babylon-header-mobile/babylon-header-mobile.interface.d.ts +26 -0
  436. package/lib/components/core/babylon-header-mobile/index.d.ts +2 -0
  437. package/lib/components/core/babylon-hotels-list/babylon-hotel.interface.d.ts +18 -0
  438. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.component.d.ts +5 -1
  439. package/lib/components/core/babylon-hotels-list/babylon-hotels-list.interface.d.ts +6 -0
  440. package/lib/components/core/babylon-hotels-list/index.d.ts +3 -0
  441. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.component.d.ts +5 -1
  442. package/lib/components/core/babylon-hotels-slider/babylon-hotels-slider.interface.d.ts +6 -0
  443. package/lib/components/core/babylon-hotels-slider/index.d.ts +2 -0
  444. package/lib/components/core/babylon-info-big/babylon-info-big.component.d.ts +9 -1
  445. package/lib/components/core/babylon-info-big/babylon-info-big.interface.d.ts +10 -0
  446. package/lib/components/core/babylon-info-big/index.d.ts +2 -0
  447. package/lib/components/core/babylon-info-grid/babylon-info-grid.component.d.ts +22 -3
  448. package/lib/components/core/babylon-info-grid/babylon-info-grid.interface.d.ts +9 -0
  449. package/lib/components/core/babylon-info-grid/index.d.ts +2 -0
  450. package/lib/components/core/babylon-info-img/babylon-info-img.component.d.ts +40 -2
  451. package/lib/components/core/babylon-info-img/babylon-info-img.interface.d.ts +27 -0
  452. package/lib/components/core/babylon-info-img/index.d.ts +2 -0
  453. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.component.d.ts +33 -0
  454. package/lib/components/core/babylon-info-img-slider/babylon-info-img-slider.interface.d.ts +11 -0
  455. package/lib/components/core/babylon-info-img-slider/index.d.ts +2 -0
  456. package/lib/components/core/babylon-info-intro/babylon-info-intro.component.d.ts +26 -1
  457. package/lib/components/core/babylon-info-intro/babylon-info-intro.interface.d.ts +19 -0
  458. package/lib/components/core/babylon-info-intro/index.d.ts +2 -0
  459. package/lib/components/core/babylon-info-show-img/babylon-info-show-img.component.d.ts +3 -1
  460. package/lib/components/core/babylon-info-show-img/index.d.ts +1 -0
  461. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.component.d.ts +29 -1
  462. package/lib/components/core/babylon-info-zig-zag/babylon-info-zig-zag.interface.d.ts +12 -0
  463. package/lib/components/core/babylon-info-zig-zag/index.d.ts +2 -0
  464. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.component.d.ts +47 -0
  465. package/lib/components/core/babylon-info-zig-zag-counter/babylon-info-zig-zag-counter.interface.d.ts +14 -0
  466. package/lib/components/core/babylon-info-zig-zag-counter/index.d.ts +2 -0
  467. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.component.d.ts +16 -1
  468. package/lib/components/core/babylon-info-zigzag-v2/babylon-info-zigzag-v2.interface.d.ts +5 -0
  469. package/lib/components/core/babylon-info-zigzag-v2/index.d.ts +2 -0
  470. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.component.d.ts +21 -0
  471. package/lib/components/core/babylon-info2col-img/babylon-info2col-img.interface.d.ts +12 -0
  472. package/lib/components/core/babylon-info2col-img/index.d.ts +2 -0
  473. package/lib/components/core/babylon-info2img/babylon-info2img.component.d.ts +14 -1
  474. package/lib/components/core/babylon-info2img/babylon-info2img.interface.d.ts +11 -0
  475. package/lib/components/core/babylon-info2img/index.d.ts +2 -0
  476. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.component.d.ts +16 -1
  477. package/lib/components/core/babylon-info2img-big/babylon-info2img-big.interface.d.ts +14 -0
  478. package/lib/components/core/babylon-info2img-big/index.d.ts +2 -0
  479. package/lib/components/core/babylon-info3img/babylon-info3img.component.d.ts +9 -1
  480. package/lib/components/core/babylon-info3img/index.d.ts +1 -0
  481. package/lib/components/core/babylon-info4img/babylon-info4img.component.d.ts +11 -1
  482. package/lib/components/core/babylon-info4img/babylon-info4img.interface.d.ts +12 -0
  483. package/lib/components/core/babylon-info4img/index.d.ts +2 -0
  484. package/lib/components/core/babylon-items-grid/babylon-items-grid.component.d.ts +14 -1
  485. package/lib/components/core/babylon-items-grid/babylon-items-grid.interface.d.ts +8 -0
  486. package/lib/components/core/babylon-items-grid/index.d.ts +2 -0
  487. package/lib/components/core/babylon-language-modal/babylon-language-modal.component.d.ts +12 -5
  488. package/lib/components/core/babylon-language-modal/babylon-language-modal.interface.d.ts +7 -0
  489. package/lib/components/core/babylon-language-modal/index.d.ts +2 -0
  490. package/lib/components/core/babylon-legal/babylon-legal.component.d.ts +9 -1
  491. package/lib/components/core/babylon-legal/babylon-legal.interface.d.ts +7 -0
  492. package/lib/components/core/babylon-legal/index.d.ts +2 -0
  493. package/lib/components/core/babylon-list-grid/babylon-list-grid.component.d.ts +17 -1
  494. package/lib/components/core/babylon-list-grid/babylon-list-grid.interface.d.ts +8 -0
  495. package/lib/components/core/babylon-list-grid/index.d.ts +2 -0
  496. package/lib/components/core/babylon-modal-menu/babylon-modal-menu.component.d.ts +45 -0
  497. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.component.d.ts +16 -0
  498. package/lib/components/core/babylon-modal-multiple-motors/babylon-modal-multiple-motors.interface.d.ts +8 -0
  499. package/lib/components/core/babylon-modal-multiple-motors/index.d.ts +2 -0
  500. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.component.d.ts +25 -0
  501. package/lib/components/core/babylon-modal-popup/babylon-modal-popup.interface.d.ts +9 -0
  502. package/lib/components/core/babylon-modal-popup/index.d.ts +2 -0
  503. package/lib/components/core/babylon-newsletter/babylon-newsletter.component.d.ts +19 -3
  504. package/lib/components/core/babylon-newsletter/babylon-newsletter.interface.d.ts +9 -0
  505. package/lib/components/core/babylon-newsletter/index.d.ts +2 -0
  506. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.component.d.ts +16 -1
  507. package/lib/components/core/babylon-offer-detail/babylon-offer-detail.interface.d.ts +17 -0
  508. package/lib/components/core/babylon-offer-detail/index.d.ts +2 -0
  509. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.component.d.ts +18 -5
  510. package/lib/components/core/babylon-offer-popup/babylon-offer-popup.interface.d.ts +7 -0
  511. package/lib/components/core/babylon-offer-popup/index.d.ts +2 -0
  512. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.component.d.ts +21 -0
  513. package/lib/components/core/babylon-offer-popupV2/babylon-offer-popup-v2.interface.d.ts +9 -0
  514. package/lib/components/core/babylon-offer-popupV2/index.d.ts +2 -0
  515. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.component.d.ts +6 -1
  516. package/lib/components/core/babylon-offer-slider/babylon-offer-slider.interface.d.ts +7 -0
  517. package/lib/components/core/babylon-offer-slider/babylon-offer.interface.d.ts +18 -0
  518. package/lib/components/core/babylon-offer-slider/index.d.ts +3 -0
  519. package/lib/components/core/babylon-offers-list/babylon-offers-list.component.d.ts +33 -2
  520. package/lib/components/core/babylon-offers-list/babylon-offers-list.interface.d.ts +14 -0
  521. package/lib/components/core/babylon-offers-list/index.d.ts +2 -0
  522. package/lib/components/core/babylon-offers-slider/babylon-offers-slider.component.d.ts +5 -1
  523. package/lib/components/core/babylon-offers-slider/index.d.ts +1 -0
  524. package/lib/components/core/babylon-preload/babylon-preload.component.d.ts +5 -1
  525. package/lib/components/core/babylon-preload/index.d.ts +1 -0
  526. package/lib/components/core/babylon-press-list/babylon-press-list.component.d.ts +17 -0
  527. package/lib/components/core/babylon-press-list/babylon-press-list.interface.d.ts +8 -0
  528. package/lib/components/core/babylon-press-list/index.d.ts +2 -0
  529. package/lib/components/core/babylon-room-details/babylon-room-detail.interface.d.ts +12 -0
  530. package/lib/components/core/babylon-room-details/babylon-room-details.component.d.ts +13 -1
  531. package/lib/components/core/babylon-room-details/index.d.ts +2 -0
  532. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.component.d.ts +39 -1
  533. package/lib/components/core/babylon-rooms-cols/babylon-rooms-cols.interface.d.ts +10 -0
  534. package/lib/components/core/babylon-rooms-cols/index.d.ts +2 -0
  535. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.component.d.ts +10 -1
  536. package/lib/components/core/babylon-rooms-grid/babylon-rooms-grid.interface.d.ts +8 -0
  537. package/lib/components/core/babylon-rooms-grid/index.d.ts +2 -0
  538. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.component.d.ts +27 -1
  539. package/lib/components/core/babylon-rooms-list/babylon-rooms-list.interface.d.ts +6 -0
  540. package/lib/components/core/babylon-rooms-list/index.d.ts +2 -0
  541. package/lib/components/core/babylon-rooms-slider/babylon-room.interface.d.ts +15 -0
  542. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.component.d.ts +6 -1
  543. package/lib/components/core/babylon-rooms-slider/babylon-rooms-slider.interface.d.ts +6 -0
  544. package/lib/components/core/babylon-rooms-slider/babylon-rooms-text-info.interface.d.ts +8 -0
  545. package/lib/components/core/babylon-rooms-slider/index.d.ts +4 -0
  546. package/lib/components/core/babylon-services-slider/babylon-service-slider.interface.d.ts +6 -0
  547. package/lib/components/core/babylon-services-slider/babylon-services-slider.component.d.ts +7 -1
  548. package/lib/components/core/babylon-services-slider/index.d.ts +2 -0
  549. package/lib/components/core/babylon-slider2col/babylon-slider2col.component.d.ts +22 -1
  550. package/lib/components/core/babylon-slider2col/index.d.ts +1 -0
  551. package/lib/components/core/babylon-slider2items/babylon-slider2items.component.d.ts +5 -1
  552. package/lib/components/core/babylon-slider2items/babylon-slider2items.interface.d.ts +6 -0
  553. package/lib/components/core/babylon-slider2items/index.d.ts +2 -0
  554. package/lib/components/core/babylon-slider3col/babylon-slider3col.component.d.ts +20 -0
  555. package/lib/components/core/babylon-slider3col/index.d.ts +1 -0
  556. package/lib/components/core/babylon-slider3col-clear/babylon-slider3col-clear.component.d.ts +5 -0
  557. package/lib/components/core/babylon-slider3col-clear/index.d.ts +1 -0
  558. package/lib/components/core/babylon-slider3items/babylon-slider3items.component.d.ts +15 -1
  559. package/lib/components/core/babylon-slider3items/babylon-slider3items.interface.d.ts +6 -0
  560. package/lib/components/core/babylon-slider3items/index.d.ts +2 -0
  561. package/lib/components/core/babylon-slider4col/babylon-slider4col.component.d.ts +15 -1
  562. package/lib/components/core/babylon-slider4col/index.d.ts +1 -0
  563. package/lib/components/core/babylon-static-footer/babylon-static-footer.component.d.ts +55 -2
  564. package/lib/components/core/babylon-static-footer/babylon-static-footer.interface.d.ts +29 -0
  565. package/lib/components/core/babylon-static-footer/index.d.ts +2 -0
  566. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.component.d.ts +24 -3
  567. package/lib/components/core/babylon-static-footer-v2/babylon-static-footer-v2.interface.d.ts +18 -0
  568. package/lib/components/core/babylon-static-footer-v2/index.d.ts +2 -0
  569. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.component.d.ts +13 -2
  570. package/lib/components/core/babylon-submenu-hotel/babylon-submenu-hotel.interface.d.ts +5 -0
  571. package/lib/components/core/babylon-submenu-hotel/index.d.ts +2 -0
  572. package/lib/components/core/babylon-thanks/babylon-thanks.component.d.ts +7 -1
  573. package/lib/components/core/babylon-thanks/babylon-thanks.interface.d.ts +7 -0
  574. package/lib/components/core/babylon-thanks/index.d.ts +2 -0
  575. package/lib/components/core/babylon-top-slider/babylon-top-slider-item.interface.d.ts +9 -0
  576. package/lib/components/core/babylon-top-slider/babylon-top-slider.component.d.ts +37 -2
  577. package/lib/components/core/babylon-top-slider/babylon-top-slider.interface.d.ts +12 -0
  578. package/lib/components/core/babylon-top-slider/index.d.ts +3 -0
  579. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.component.d.ts +12 -2
  580. package/lib/components/core/babylon-top-slider-thumbs/babylon-top-slider-thumbs.interface.d.ts +8 -0
  581. package/lib/components/core/babylon-top-slider-thumbs/index.d.ts +2 -0
  582. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2-item.interface.d.ts +7 -0
  583. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.component.d.ts +10 -1
  584. package/lib/components/core/babylon-top-slider-v2/babylon-top-slider-v2.interface.d.ts +8 -0
  585. package/lib/components/core/babylon-top-slider-v2/index.d.ts +3 -0
  586. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.component.d.ts +34 -2
  587. package/lib/components/core/babylon-top-slider-video/babylon-top-slider-video.interface.d.ts +9 -0
  588. package/lib/components/core/babylon-top-slider-video/babylon-video-source.interface.d.ts +5 -0
  589. package/lib/components/core/babylon-top-slider-video/index.d.ts +3 -0
  590. package/lib/components/core/babylon-webmap/babylon-webmap.component.d.ts +11 -1
  591. package/lib/components/core/babylon-webmap/babylon-webmap.interface.d.ts +9 -0
  592. package/lib/components/core/babylon-webmap/index.d.ts +2 -0
  593. package/lib/components/core/index.d.ts +88 -0
  594. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.component.d.ts +31 -0
  595. package/lib/components/shared/babylon-dynamic-heading/babylon-dynamic-heading.interface.d.ts +5 -0
  596. package/lib/components/shared/babylon-dynamic-heading/index.d.ts +2 -0
  597. package/lib/components/shared/babylon-search/babylon-search.component.d.ts +30 -0
  598. package/lib/components/shared/babylon-search/index.d.ts +1 -0
  599. package/lib/components/shared/index.d.ts +1 -0
  600. package/lib/directives/babylon-background-strip/babylon-background-strip.directive.d.ts +17 -0
  601. package/lib/directives/babylon-customs/babylon-custom-mouse-pointer.directive.d.ts +12 -0
  602. package/lib/directives/babylon-galleries/babylon-light-gallery.directive.d.ts +18 -0
  603. package/lib/directives/babylon-hobble-effect/babylon-hobble-effect.directive.d.ts +15 -0
  604. package/lib/directives/babylon-pagination/babylon-pagination.directive.d.ts +39 -0
  605. package/lib/directives/babylon-sliders/babylon-custom-slider.directive.d.ts +13 -0
  606. package/{directives → lib/directives/babylon-sliders}/babylon-hotels-slider.directive.d.ts +2 -1
  607. package/lib/directives/babylon-sliders/babylon-sliders.directive.d.ts +36 -0
  608. package/lib/directives/babylon-sliders/babylon-swiper-slider.directive.d.ts +14 -0
  609. package/lib/directives/data-background/data-background.directive.d.ts +11 -0
  610. package/lib/directives/link-type/link-type.directive.d.ts +40 -0
  611. package/lib/directives/scrolls/scroll-up.directive.d.ts +7 -0
  612. package/lib/interfaces/babylon-button.interface.d.ts +9 -0
  613. package/lib/interfaces/babylon-consult-type.interface.d.ts +10 -0
  614. package/lib/interfaces/babylon-dropdown.interface.d.ts +9 -0
  615. package/lib/interfaces/babylon-global-icon.interface.d.ts +4 -0
  616. package/lib/interfaces/babylon-image.interface.d.ts +12 -0
  617. package/lib/interfaces/babylon-input.interface.d.ts +12 -0
  618. package/lib/interfaces/babylon-menu-button.interface.d.ts +10 -0
  619. package/lib/interfaces/babylon-menu-info.interface.d.ts +27 -0
  620. package/lib/interfaces/babylon-page-config.interface.d.ts +43 -0
  621. package/lib/interfaces/babylon-site-config.interface.d.ts +57 -0
  622. package/lib/interfaces/babylon-tags.interface.d.ts +21 -0
  623. package/lib/interfaces/babylon-text-info.interface.d.ts +17 -0
  624. package/lib/interfaces/babylon-texts-colors.interface.d.ts +20 -0
  625. package/lib/interfaces/babylon-texts.interface.d.ts +5 -0
  626. package/lib/interfaces/index.d.ts +14 -0
  627. package/lib/pipes/babylon-clean-phone.pipe.d.ts +7 -0
  628. package/lib/pipes/babylon-currency.pipe.d.ts +7 -0
  629. package/lib/services/color-panel.service.d.ts +41 -0
  630. package/lib/services/index.d.ts +2 -0
  631. package/lib/services/mapper/index.d.ts +2 -0
  632. package/lib/services/mapper/mapper.service.d.ts +138 -0
  633. package/lib/services/mapper/mapper.service.token.d.ts +2 -0
  634. package/lib/services/modals-service/index.d.ts +1 -0
  635. package/lib/services/modals-service/modals.service.d.ts +15 -0
  636. package/lib/services/screen-sizer/screen-sizer.service.d.ts +2 -0
  637. package/lib/styles/styles/babylon/_spacing.css +1 -0
  638. package/lib/styles/styles/babylon/_spacing.scss +72 -0
  639. package/lib/styles/styles/babylon/common.css +1 -0
  640. package/lib/styles/styles/babylon/common.scss +1823 -0
  641. package/lib/styles/styles/babylon/globals.css +1 -0
  642. package/lib/styles/styles/babylon/globals.scss +848 -0
  643. package/lib/styles/styles/babylon/mixins.css +1 -0
  644. package/lib/styles/styles/babylon/mixins.scss +1031 -0
  645. package/lib/styles/styles/babylon/reset.css +1 -0
  646. package/lib/styles/styles/babylon/reset.scss +136 -0
  647. package/lib/styles/styles/babylon/slide.css +1 -0
  648. package/lib/styles/styles/babylon/slider.css +1 -0
  649. package/lib/styles/styles/babylon/slider.scss +876 -0
  650. package/lib/styles/styles/babylon/structure.scss +1 -0
  651. package/lib/styles/styles/babylon/variables-v2.css +0 -0
  652. package/lib/styles/styles/babylon/variables.css +1 -0
  653. package/lib/styles/styles/babylon/variables.scss +330 -0
  654. package/lib/styles/styles-babylon.scss +48 -7
  655. package/lib/utils/complex-links.token.d.ts +2 -0
  656. package/lib/utils/index.d.ts +1 -0
  657. package/lib/utils/utils.d.ts +14 -0
  658. package/package.json +11 -4
  659. package/public-api.d.ts +6 -111
  660. package/esm2022/directives/babylon-hotels-slider.directive.mjs +0 -103
  661. package/esm2022/lib/components/core/babylon-404-v2/babylon-404-v2.component.mjs +0 -11
  662. package/esm2022/lib/components/core/babylon-adventages-v2/babylon-adventages-v2.component.mjs +0 -12
  663. package/esm2022/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.mjs +0 -11
  664. package/esm2022/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.mjs +0 -37
  665. package/esm2022/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.mjs +0 -18
  666. package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs +0 -130
  667. package/esm2022/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.mjs +0 -17
  668. package/esm2022/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.mjs +0 -11
  669. package/esm2022/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.mjs +0 -11
  670. package/esm2022/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.mjs +0 -21
  671. package/esm2022/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.mjs +0 -105
  672. package/esm2022/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.mjs +0 -76
  673. package/esm2022/lib/components/core/babylon-img-banner/babylon-img-banner.component.mjs +0 -13
  674. package/esm2022/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.mjs +0 -61
  675. package/esm2022/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.mjs +0 -11
  676. package/esm2022/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.mjs +0 -11
  677. package/esm2022/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.mjs +0 -11
  678. package/esm2022/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.mjs +0 -18
  679. package/esm2022/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.mjs +0 -11
  680. package/esm2022/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.mjs +0 -13
  681. package/esm2022/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.mjs +0 -28
  682. package/esm2022/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.mjs +0 -11
  683. package/esm2022/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.mjs +0 -11
  684. package/esm2022/lib/components/core/babylon-list-img/babylon-list-img.component.mjs +0 -78
  685. package/esm2022/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.mjs +0 -11
  686. package/esm2022/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.mjs +0 -11
  687. package/esm2022/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.mjs +0 -65
  688. package/esm2022/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.mjs +0 -19
  689. package/esm2022/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.mjs +0 -19
  690. package/esm2022/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.mjs +0 -11
  691. package/esm2022/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.mjs +0 -19
  692. package/esm2022/lib/components/core/babylon-reviews/babylon-reviews.component.mjs +0 -11
  693. package/esm2022/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.mjs +0 -11
  694. package/esm2022/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.mjs +0 -12
  695. package/esm2022/lib/components/core/babylon-slider-box/babylon-slider-box.component.mjs +0 -12
  696. package/esm2022/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.mjs +0 -12
  697. package/esm2022/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.mjs +0 -13
  698. package/esm2022/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.mjs +0 -52
  699. package/esm2022/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.mjs +0 -13
  700. package/esm2022/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.mjs +0 -11
  701. package/esm2022/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.mjs +0 -12
  702. package/esm2022/lib/components/core/babylon-social-bar/babylon-social-bar.component.mjs +0 -11
  703. package/esm2022/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.mjs +0 -11
  704. package/esm2022/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.mjs +0 -67
  705. package/esm2022/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.mjs +0 -15
  706. package/esm2022/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.mjs +0 -11
  707. package/esm2022/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.mjs +0 -12
  708. package/esm2022/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.mjs +0 -82
  709. package/esm2022/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.mjs +0 -11
  710. package/esm2022/lib/directives/images/swap-on-reload.directive.mjs +0 -83
  711. package/esm2022/lib/directives/scroll/scroll-to.directive.mjs +0 -183
  712. package/esm2022/lib/directives/sliders/slick-init.directive.mjs +0 -211
  713. package/esm2022/lib/directives/sliders/slider-fix-arrows.directive.mjs +0 -105
  714. package/esm2022/lib/directives/utils/sticky-avoid-footer.directive.mjs +0 -91
  715. package/esm2022/lib/services/scroll/scroll-spy.service.mjs +0 -50
  716. package/lib/components/core/babylon-404-v2/babylon-404-v2.component.d.ts +0 -5
  717. package/lib/components/core/babylon-adventages-v2/babylon-adventages-v2.component.d.ts +0 -5
  718. package/lib/components/core/babylon-breadcrumb-v2/babylon-breadcrumb-v2.component.d.ts +0 -5
  719. package/lib/components/core/babylon-contact-form-v2/babylon-contact-form-v2.component.d.ts +0 -10
  720. package/lib/components/core/babylon-container-text-l2/babylon-container-text-l2.component.d.ts +0 -6
  721. package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +0 -44
  722. package/lib/components/core/babylon-faq-v2/babylon-faq-v2.component.d.ts +0 -7
  723. package/lib/components/core/babylon-feature-pills/babylon-feature-pills.component.d.ts +0 -5
  724. package/lib/components/core/babylon-feature-pills-number/babylon-feature-pills-number.component.d.ts +0 -5
  725. package/lib/components/core/babylon-filter-modal-v2/babylon-filter-modal-v2.component.d.ts +0 -10
  726. package/lib/components/core/babylon-gallery-v2/babylon-gallery-v2.component.d.ts +0 -22
  727. package/lib/components/core/babylon-header-clear-v2/babylon-header-clear-v2.component.d.ts +0 -16
  728. package/lib/components/core/babylon-img-banner/babylon-img-banner.component.d.ts +0 -5
  729. package/lib/components/core/babylon-info-big-v2/babylon-info-big-v2.component.d.ts +0 -12
  730. package/lib/components/core/babylon-info-big-v3/babylon-info-big-v3.component.d.ts +0 -5
  731. package/lib/components/core/babylon-info-circle-imgs/babylon-info-circle-imgs.component.d.ts +0 -5
  732. package/lib/components/core/babylon-info-img-v2/babylon-info-img-v2.component.d.ts +0 -5
  733. package/lib/components/core/babylon-info-zigzag-v3/babylon-info-zigzag-v3.component.d.ts +0 -6
  734. package/lib/components/core/babylon-info-zigzag-v3-1/babylon-info-zigzag-v3-1.component.d.ts +0 -5
  735. package/lib/components/core/babylon-info-zigzag-v4/babylon-info-zigzag-v4.component.d.ts +0 -5
  736. package/lib/components/core/babylon-language-modal-v2/babylon-language-modal-v2.component.d.ts +0 -12
  737. package/lib/components/core/babylon-list-box-info/babylon-list-box-info.component.d.ts +0 -5
  738. package/lib/components/core/babylon-list-c3-img-txt/babylon-list-c3-img-txt.component.d.ts +0 -5
  739. package/lib/components/core/babylon-list-img/babylon-list-img.component.d.ts +0 -17
  740. package/lib/components/core/babylon-list-img-info/babylon-list-img-info.component.d.ts +0 -5
  741. package/lib/components/core/babylon-list-img-v2/babylon-list-img-v2.component.d.ts +0 -5
  742. package/lib/components/core/babylon-loyalty-table/babylon-loyalty-table.component.d.ts +0 -10
  743. package/lib/components/core/babylon-menu-modal/babylon-menu-modal.component.d.ts +0 -7
  744. package/lib/components/core/babylon-newsletter-modal/babylon-newsletter-modal.component.d.ts +0 -7
  745. package/lib/components/core/babylon-offer-detail-v2/babylon-offer-detail-v2.component.d.ts +0 -5
  746. package/lib/components/core/babylon-offer-popup-v2/babylon-offer-popup-v2.component.d.ts +0 -7
  747. package/lib/components/core/babylon-reviews/babylon-reviews.component.d.ts +0 -5
  748. package/lib/components/core/babylon-rooms-list-v2/babylon-rooms-list-v2.component.d.ts +0 -5
  749. package/lib/components/core/babylon-simple-img-info/babylon-simple-img-info.component.d.ts +0 -5
  750. package/lib/components/core/babylon-slider-box/babylon-slider-box.component.d.ts +0 -5
  751. package/lib/components/core/babylon-slider-img-static/babylon-slider-img-static.component.d.ts +0 -5
  752. package/lib/components/core/babylon-slider-img-static-v2/babylon-slider-img-static-v2.component.d.ts +0 -5
  753. package/lib/components/core/babylon-slider-img-video/babylon-slider-img-video.component.d.ts +0 -9
  754. package/lib/components/core/babylon-slider2col-v2/babylon-slider2col-v2.component.d.ts +0 -5
  755. package/lib/components/core/babylon-slider3col/babylon-slider3colcomponent.d.ts +0 -5
  756. package/lib/components/core/babylon-slider3col-v2/babylon-slider3col-v2.component.d.ts +0 -5
  757. package/lib/components/core/babylon-social-bar/babylon-social-bar.component.d.ts +0 -5
  758. package/lib/components/core/babylon-social-bar-v2/babylon-social-bar-v2.component.d.ts +0 -5
  759. package/lib/components/core/babylon-static-footer-v3/babylon-static-footer-v3.component.d.ts +0 -12
  760. package/lib/components/core/babylon-top-simple-banner/babylon-top-simple-banner.component.d.ts +0 -6
  761. package/lib/components/core/babylon-top-simple-img/babylon-top-simple-img.component.d.ts +0 -5
  762. package/lib/components/core/babylon-top-slider-video-v2/babylon-top-slider-video-v2.component.d.ts +0 -5
  763. package/lib/components/core/babylon-variant-selector/babylon-variant-selector.component.d.ts +0 -12
  764. package/lib/components/core/babylon-webmap-v2/babylon-webmap-v2.component.d.ts +0 -5
  765. package/lib/directives/images/swap-on-reload.directive.d.ts +0 -22
  766. package/lib/directives/scroll/scroll-to.directive.d.ts +0 -31
  767. package/lib/directives/sliders/slick-init.directive.d.ts +0 -14
  768. package/lib/directives/sliders/slider-fix-arrows.directive.d.ts +0 -21
  769. package/lib/directives/utils/sticky-avoid-footer.directive.d.ts +0 -24
  770. package/lib/services/scroll/scroll-spy.service.d.ts +0 -17
  771. package/lib/styles/styles/babylon/scss-daba/airDatePicker.min.css +0 -13
  772. package/lib/styles/styles/babylon/scss-daba/aos.min.css +0 -1
  773. package/lib/styles/styles/babylon/scss-daba/buttons.css +0 -1
  774. package/lib/styles/styles/babylon/scss-daba/buttons.scss +0 -441
  775. package/lib/styles/styles/babylon/scss-daba/fancybox.css +0 -829
  776. package/lib/styles/styles/babylon/scss-daba/fancybox.min.css +0 -1
  777. package/lib/styles/styles/babylon/scss-daba/funciones.scss +0 -491
  778. package/lib/styles/styles/babylon/scss-daba/inputs.css +0 -1
  779. package/lib/styles/styles/babylon/scss-daba/inputs.scss +0 -168
  780. package/lib/styles/styles/babylon/scss-daba/jquery.fancybox.min.css +0 -1
  781. package/lib/styles/styles/babylon/scss-daba/style.css +0 -1
  782. package/lib/styles/styles/babylon/scss-daba/style.scss +0 -445
  783. package/lib/styles/styles/babylon/scss-daba/swiper-bundle.min.css +0 -635
  784. /package/lib/styles/styles/babylon/{scss-daba/funciones.css → structure.css} +0 -0
@@ -0,0 +1,438 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { Directive, inject, Input, PLATFORM_ID, } from '@angular/core';
3
+ import { catchError, defer, filter, forkJoin, map, of, switchMap, take, takeWhile, tap, timeout, timer, } from 'rxjs';
4
+ import { Utils } from '../../utils';
5
+ import * as i0 from "@angular/core";
6
+ export class BabylonSlidersDirective {
7
+ constructor(el) {
8
+ this.el = el;
9
+ this.platformId = inject(PLATFORM_ID);
10
+ }
11
+ ngAfterViewInit() {
12
+ if (!isPlatformBrowser(this.platformId))
13
+ return;
14
+ this.ensureJQueryAndSlick$().subscribe(() => {
15
+ this.executeInitializeSlider();
16
+ });
17
+ }
18
+ waitForJQuery$() {
19
+ return timer(0, 40).pipe(map(() => window.jQuery || window.$), filter(Boolean), take(1), timeout({ first: 5000 }),
20
+ // expone $ / jQuery global por si el bundle no lo hizo
21
+ map((jq) => {
22
+ const w = window;
23
+ if (!w.$)
24
+ w.$ = jq;
25
+ if (!w.jQuery)
26
+ w.jQuery = jq;
27
+ return jq;
28
+ }));
29
+ }
30
+ waitForSlick$() {
31
+ return timer(0, 40).pipe(map(() => {
32
+ const w = window;
33
+ const jq = w.jQuery || w.$;
34
+ return jq && jq.fn && jq.fn.slick;
35
+ }), filter(Boolean), take(1), timeout({ first: 5000 }), map(() => void 0));
36
+ }
37
+ /** Carga jQuery + slick en orden y espera a que estén listos */
38
+ ensureJQueryAndSlick$() {
39
+ return defer(() => {
40
+ const w = window;
41
+ const hasJQ = !!(w.jQuery || w.$);
42
+ const hasSlick = !!(w.jQuery?.fn?.slick || w.$?.fn?.slick);
43
+ if (hasJQ && hasSlick)
44
+ return of(void 0);
45
+ // Carga en cadena y espera definición real
46
+ return Utils.loadScript$('assets/babylon/js/jquery.min.js').pipe(switchMap(() => this.waitForJQuery$()), switchMap(() => Utils.loadScript$('assets/babylon/slick/slick.min.js')), switchMap(() => this.waitForSlick$()), catchError((e) => {
47
+ console.error('Error cargando jQuery/slick', e);
48
+ return of(void 0);
49
+ }));
50
+ });
51
+ }
52
+ ngOnDestroy() {
53
+ if (isPlatformBrowser(this.platformId)) {
54
+ // Limpiar el listener de redimensionamiento cuando el componente se destruye
55
+ if (this.resizeTimeout) {
56
+ clearTimeout(this.resizeTimeout);
57
+ }
58
+ window.removeEventListener('resize', this.resizeFn);
59
+ }
60
+ }
61
+ loadDependenciesAndInitialize() {
62
+ if (isPlatformBrowser(this.platformId)) {
63
+ Utils.loadScript$('assets/babylon/js/jquery.min.js')
64
+ .pipe(switchMap(() => this.waitForSlickAvailability().pipe(switchMap(() => forkJoin([
65
+ Utils.loadScript$('assets/babylon/slick/slick.min.js'),
66
+ Utils.loadStyle$('assets/babylon/slick/slick.css'),
67
+ ]).pipe(tap(() => {
68
+ this.executeInitializeSlider();
69
+ }))))))
70
+ .subscribe();
71
+ }
72
+ }
73
+ executeInitializeSlider() {
74
+ if (isPlatformBrowser(this.platformId)) {
75
+ let lastWidth = window.innerWidth;
76
+ setTimeout(() => {
77
+ try {
78
+ const $sliderWrapper = $(this.el.nativeElement).find('.cs_slider_wrapper');
79
+ if (!$sliderWrapper.hasClass('slick-initialized')) {
80
+ this.initializeSlider();
81
+ }
82
+ if (!this.resizeFn) {
83
+ this.resizeFn = () => {
84
+ clearTimeout(this.resizeTimeout);
85
+ this.resizeTimeout = setTimeout(() => {
86
+ const newWidth = window.innerWidth;
87
+ if (Math.abs(newWidth - lastWidth) > 50) {
88
+ lastWidth = newWidth;
89
+ const $slider = $(this.el.nativeElement).find('.cs_slider_wrapper');
90
+ if ($slider.hasClass('slick-initialized')) {
91
+ $slider.slick('unslick');
92
+ }
93
+ this.initializeSlider();
94
+ }
95
+ }, 300);
96
+ };
97
+ window.addEventListener('resize', this.resizeFn);
98
+ }
99
+ }
100
+ catch (error) {
101
+ this.executeInitializeSlider();
102
+ }
103
+ }, 70);
104
+ }
105
+ }
106
+ waitForSlickAvailability() {
107
+ return timer(0, 70).pipe(
108
+ // Polling cada 70ms
109
+ takeWhile(() => !(typeof $ !== 'undefined' &&
110
+ $.fn &&
111
+ typeof $.fn.slick !== 'undefined'), true), switchMap(() => of(undefined)));
112
+ }
113
+ initializeSlider() {
114
+ const $slider = $(this.el.nativeElement);
115
+ if (!$slider.length)
116
+ return;
117
+ const $slickActive = $slider.find('.cs_slider_wrapper');
118
+ if ($slickActive.hasClass('slick-initialized')) {
119
+ $slickActive.slick('unslick'); // Destruye el slider actual
120
+ }
121
+ switch (this.sliders) {
122
+ case 'cs_slider_container':
123
+ this.initSlickSlider($slider);
124
+ break;
125
+ case 'cs_gallery_slider_nav':
126
+ this.initSlickSliderNav($slider);
127
+ break;
128
+ case 'cs_gallery_slider_nav_2':
129
+ this.initSlickSliderNav_2($slider);
130
+ break;
131
+ case 'cs_gallery_slider_thumb':
132
+ this.initSlickSliderThumb($slider);
133
+ this.syncSliders('.cs_gallery_slider_thumb', '.cs_gallery_slider_nav'); // Sincroniza los sliders por tema de rendarizado en el DOM
134
+ break;
135
+ case 'cs_gallery_slider_thumb_2':
136
+ this.initSlickSliderThumb_2($slider);
137
+ this.syncSliders('.cs_gallery_slider_thumb_2', '.cs_gallery_slider_nav_2');
138
+ break;
139
+ case 'cs_slider_container2':
140
+ this.initSlickSlider2($slider);
141
+ break;
142
+ case 'cs_slider_container3':
143
+ this.initSlickSlider3($slider);
144
+ break;
145
+ case 'cs_slider_container4':
146
+ this.initSlickSlider4($slider);
147
+ break;
148
+ case 'cs_slider_container5':
149
+ this.initSlickSlider5($slider);
150
+ break;
151
+ default:
152
+ break;
153
+ }
154
+ }
155
+ initSlickSlider($slider) {
156
+ const $slickActive = $slider.find('.cs_slider_wrapper');
157
+ if ($slickActive.hasClass('slick-initialized')) {
158
+ return;
159
+ }
160
+ const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
161
+ const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
162
+ $slickActive.slick({
163
+ autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
164
+ autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
165
+ speed: this.getSliderSetting($slider, 'data-speed', 600),
166
+ infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
167
+ slidesToShow: this.getSlidesPerView($slider),
168
+ swipeToSlide: true,
169
+ prevArrow: prevArrow,
170
+ nextArrow: nextArrow,
171
+ centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
172
+ variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
173
+ dots: true,
174
+ appendDots: $slider.parent().find('.cs_pagination'),
175
+ });
176
+ }
177
+ initSlickSlider2($slider) {
178
+ const $slickActive = $slider.find('.cs_slider_wrapper');
179
+ if ($slickActive.hasClass('slick-initialized')) {
180
+ return;
181
+ }
182
+ const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
183
+ const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
184
+ $slickActive.slick({
185
+ autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
186
+ autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
187
+ speed: this.getSliderSetting($slider, 'data-speed', 600),
188
+ infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
189
+ slidesToShow: this.getSlidesPerView($slider),
190
+ swipeToSlide: true,
191
+ prevArrow: prevArrow,
192
+ nextArrow: nextArrow,
193
+ centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
194
+ variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
195
+ });
196
+ }
197
+ initSlickSlider3($slider) {
198
+ const $slickActive = $slider.find('.cs_slider_wrapper');
199
+ if ($slickActive.hasClass('slick-initialized')) {
200
+ return;
201
+ }
202
+ const prevArrow = $slider
203
+ .siblings('.cs_slider_arrows')
204
+ .find('.cs_left_arrow');
205
+ const nextArrow = $slider
206
+ .siblings('.cs_slider_arrows')
207
+ .find('.cs_right_arrow');
208
+ $slickActive.slick({
209
+ autoplay: this.getSliderSetting($slider, 'data-autoplay', 0),
210
+ autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
211
+ speed: this.getSliderSetting($slider, 'data-speed', 600),
212
+ infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
213
+ slidesToShow: this.getSlidesPerView($slider),
214
+ swipeToSlide: true,
215
+ prevArrow: prevArrow,
216
+ nextArrow: nextArrow,
217
+ centerMode: this.getSliderSetting($slider, 'data-center', 0) === 1,
218
+ variableWidth: this.getSliderSetting($slider, 'data-variable-width', 0) === 1,
219
+ dots: false,
220
+ appendDots: $slider.parent().find('.cs_pagination_services'),
221
+ });
222
+ }
223
+ initSlickSliderNav($slider) {
224
+ if ($slider.hasClass('slick-initialized')) {
225
+ return;
226
+ }
227
+ setTimeout(() => {
228
+ $slider.slick({
229
+ slidesToShow: 3,
230
+ slidesToScroll: 1,
231
+ asNavFor: $('.cs_gallery_slider_thumb_mini').length
232
+ ? '.cs_gallery_slider_thumb_mini'
233
+ : '.cs_gallery_slider_thumb',
234
+ focusOnSelect: true,
235
+ arrows: false,
236
+ vertical: true,
237
+ centerMode: true,
238
+ centerPadding: '0px',
239
+ speed: 1000,
240
+ });
241
+ }, 1000);
242
+ }
243
+ initSlickSliderNav_2($slider) {
244
+ if ($slider.hasClass('slick-initialized')) {
245
+ return;
246
+ }
247
+ $slider.slick({
248
+ slidesToShow: 3,
249
+ slidesToScroll: 1,
250
+ asNavFor: '.cs_gallery_slider_thumb_2',
251
+ focusOnSelect: true,
252
+ arrows: false,
253
+ centerMode: true,
254
+ centerPadding: '0px',
255
+ speed: 1000,
256
+ });
257
+ }
258
+ initSlickSliderThumb($slider) {
259
+ if ($slider.hasClass('slick-initialized')) {
260
+ return;
261
+ }
262
+ const prevArrow = $slider
263
+ .closest('.cs_gallery_hover_show_nav')
264
+ .find('.cs_left_arrow_gallery');
265
+ const nextArrow = $slider
266
+ .closest('.cs_gallery_hover_show_nav')
267
+ .find('.cs_right_arrow_gallery');
268
+ $slider.slick({
269
+ slidesToShow: 1,
270
+ slidesToScroll: 1,
271
+ prevArrow: prevArrow,
272
+ nextArrow: nextArrow,
273
+ asNavFor: '.cs_gallery_slider_nav.slick-slider',
274
+ infinite: true,
275
+ speed: 600,
276
+ autoplay: false,
277
+ fade: true,
278
+ });
279
+ }
280
+ initSlickSliderThumb_2($slider) {
281
+ if ($slider.hasClass('slick-initialized')) {
282
+ return;
283
+ }
284
+ const prevArrow = $slider
285
+ .closest('.cs_gallery_hover_show_nav')
286
+ .find('.cs_left_arrow_gallery_2 .cs_swiper_button_prev');
287
+ const nextArrow = $slider
288
+ .closest('.cs_gallery_hover_show_nav')
289
+ .find('.cs_right_arrow_gallery_2 .cs_swiper_button_next');
290
+ $slider.slick({
291
+ slidesToShow: 1,
292
+ slidesToScroll: 1,
293
+ prevArrow: prevArrow,
294
+ nextArrow: nextArrow,
295
+ asNavFor: '.cs_gallery_slider_nav_2.slick-slider',
296
+ infinite: false,
297
+ speed: 600,
298
+ autoplay: false,
299
+ });
300
+ }
301
+ initSlickSlider4($slider) {
302
+ const $slickActive = $slider.find('.cs_slider_wrapper');
303
+ if ($slickActive.hasClass('slick-initialized')) {
304
+ return;
305
+ }
306
+ const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
307
+ const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
308
+ const slidesToShow = this.getSlidesPerView($slider);
309
+ $slickActive.slick({
310
+ autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
311
+ autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
312
+ speed: this.getSliderSetting($slider, 'data-speed', 600),
313
+ infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
314
+ slidesToShow: slidesToShow,
315
+ swipeToSlide: true,
316
+ prevArrow: prevArrow,
317
+ nextArrow: nextArrow,
318
+ centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
319
+ variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
320
+ dots: true,
321
+ appendDots: $slider.parent().find('.cs_pagination'),
322
+ });
323
+ this.toggleSliderArrows($slider, slidesToShow);
324
+ }
325
+ initSlickSlider5($slider) {
326
+ const $slickActive = $slider.find('.cs_slider_wrapper');
327
+ if ($slickActive.hasClass('slick-initialized')) {
328
+ return;
329
+ }
330
+ const prevArrow = $slider.closest('.cs_slider').find('.cs_left_arrow');
331
+ const nextArrow = $slider.closest('.cs_slider').find('.cs_right_arrow');
332
+ $slickActive.slick({
333
+ autoplay: this.getSliderSetting($slider, 'data-autoplay', 1),
334
+ autoplaySpeed: this.getSliderSetting($slider, 'data-autoplay', 3000),
335
+ speed: this.getSliderSetting($slider, 'data-speed', 600),
336
+ infinite: this.getSliderSetting($slider, 'data-loop', 0) === 0,
337
+ slidesToShow: this.getSlidesPerView($slider),
338
+ swipeToSlide: true,
339
+ prevArrow: prevArrow,
340
+ nextArrow: nextArrow,
341
+ centerMode: this.getSliderSetting($slider, 'data-center', 10) === 1,
342
+ variableWidth: this.getSliderSetting($slider, 'data-variable-width', 10) === 1,
343
+ dots: true,
344
+ appendDots: $slider.closest('.cs_slider').find('.cs_pagination'),
345
+ });
346
+ }
347
+ getSliderSetting($slider, settingName, defaultValue) {
348
+ return parseInt($slider.attr(settingName), 10) || defaultValue;
349
+ }
350
+ getSlidesPerView($slider) {
351
+ if (isPlatformBrowser(this.platformId)) {
352
+ const slidesPerViewType = $slider.attr('data-slides-per-view');
353
+ const xsSlides = parseInt($slider.attr('data-xs-slides'), 10) || 1;
354
+ const smSlides = parseInt($slider.attr('data-sm-slides'), 10) || 2;
355
+ const mdSlides = parseInt($slider.attr('data-md-slides'), 10) || 2;
356
+ const mlgSlides = parseInt($slider.attr('data-mlg-slides'), 10) || 3;
357
+ const lgSlides = parseInt($slider.attr('data-lg-slides'), 10) || 3;
358
+ const xlSlides = parseInt($slider.attr('data-xl-slides'), 10) || lgSlides;
359
+ if (slidesPerViewType === 'responsive') {
360
+ if (window.innerWidth < 576) {
361
+ return xsSlides;
362
+ }
363
+ else if (window.innerWidth < 768) {
364
+ return smSlides;
365
+ }
366
+ else if (window.innerWidth < 1024) {
367
+ return mdSlides;
368
+ }
369
+ else if (window.innerWidth < 1280) {
370
+ return mlgSlides;
371
+ }
372
+ else if (window.innerWidth < 1400) {
373
+ return lgSlides;
374
+ }
375
+ else {
376
+ return xlSlides;
377
+ }
378
+ }
379
+ else {
380
+ return parseInt(slidesPerViewType, 10) || 1;
381
+ }
382
+ }
383
+ return parseInt($slider.attr('data-slides-per-view'), 10) || 3;
384
+ }
385
+ toggleSliderArrows($slider, slidesToShow) {
386
+ const $slides = $slider.find('.cs_slide');
387
+ const totalSlides = $slides.length;
388
+ const $sliderContainer = $slider.closest('.cs_slider');
389
+ const shouldHide = totalSlides <= slidesToShow;
390
+ $sliderContainer.toggleClass('hide-arrows', shouldHide);
391
+ }
392
+ syncSliders(mainSelector, navSelector) {
393
+ const $main = $(mainSelector);
394
+ const $nav = $(navSelector);
395
+ if ($main.length && $nav.length) {
396
+ if (!$main.hasClass('slick-initialized')) {
397
+ $main.slick({
398
+ slidesToShow: 1,
399
+ slidesToScroll: 1,
400
+ arrows: true,
401
+ fade: true,
402
+ asNavFor: navSelector,
403
+ });
404
+ }
405
+ if (!$nav.hasClass('slick-initialized')) {
406
+ $nav.slick({
407
+ slidesToShow: 3,
408
+ slidesToScroll: 1,
409
+ asNavFor: mainSelector,
410
+ focusOnSelect: true,
411
+ arrows: false,
412
+ vertical: true,
413
+ centerMode: false,
414
+ });
415
+ }
416
+ }
417
+ }
418
+ moveToNextSlide() {
419
+ if (isPlatformBrowser(this.platformId)) {
420
+ const $slider = $(this.el.nativeElement);
421
+ if ($slider.length) {
422
+ $slider.slick('slickNext');
423
+ }
424
+ }
425
+ }
426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonSlidersDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
427
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BabylonSlidersDirective, isStandalone: true, selector: "[sliders]", inputs: { sliders: "sliders" }, ngImport: i0 }); }
428
+ }
429
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonSlidersDirective, decorators: [{
430
+ type: Directive,
431
+ args: [{
432
+ selector: '[sliders]',
433
+ standalone: true,
434
+ }]
435
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { sliders: [{
436
+ type: Input
437
+ }] } });
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1zbGlkZXJzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhYnlsb24vc3JjL2xpYi9kaXJlY3RpdmVzL2JhYnlsb24tc2xpZGVycy9iYWJ5bG9uLXNsaWRlcnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFFSCxTQUFTLEVBRVQsTUFBTSxFQUNOLEtBQUssRUFFTCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFDSCxPQUFPLEVBQ1AsS0FBSyxHQUNSLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFRcEMsTUFBTSxPQUFPLHVCQUF1QjtJQWlCaEMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUFKakIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUliLENBQUM7SUFFdEMsZUFBZTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQUUsT0FBTztRQUVoRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxD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LEtBQUssQ0FBQztvQkFDUixZQUFZLEVBQUUsQ0FBQztvQkFDZixjQUFjLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxFQUFFLElBQUk7b0JBQ1osSUFBSSxFQUFFLElBQUk7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCLENBQUMsQ0FBQzthQUNOO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDUCxZQUFZLEVBQUUsQ0FBQztvQkFDZixjQUFjLEVBQUUsQ0FBQztvQkFDakIsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLGFBQWEsRUFBRSxJQUFJO29CQUNuQixNQUFNLEVBQUUsS0FBSztvQkFDYixRQUFRLEVBQUUsSUFBSTtvQkFDZCxVQUFVLEVBQUUsS0FBSztpQkFDcEIsQ0FBQyxDQUFDO2FBQ047U0FDSjtJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzlCO1NBQ0o7SUFDTCxDQUFDOytHQXBqQlEsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFFWSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBQTEFURk9STV9JRCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGNhdGNoRXJyb3IsXG4gICAgZGVmZXIsXG4gICAgZmlsdGVyLFxuICAgIGZvcmtKb2luLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIG9mLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRha2VXaGlsZSxcbiAgICB0YXAsXG4gICAgdGltZW91dCxcbiAgICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3NsaWRlcnNdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uU2xpZGVyc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2xpZGVycyE6XG4gICAgICAgIHwgJ2NzX3NsaWRlcl9jb250YWluZXInXG4gICAgICAgIHwgJ2NzX2dhbGxlcnlfc2xpZGVyX25hdidcbiAgICAgICAgfCAnY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzInXG4gICAgICAgIHwgJ2NzX2dhbGxlcnlfc2xpZGVyX3RodW1iJ1xuICAgICAgICB8ICdjc19nYWxsZXJ5X3NsaWRlcl90aHVtYl8yJ1xuICAgICAgICB8ICdjc19zbGlkZXJfY29udGFpbmVyMidcbiAgICAgICAgfCAnY3Nfc2xpZGVyX2NvbnRhaW5lcjMnXG4gICAgICAgIHwgJ2NzX3NsaWRlcl9jb250YWluZXI0J1xuICAgICAgICB8ICdjc19zbGlkZXJfY29udGFpbmVyNSc7XG5cbiAgICBwcml2YXRlIHJlc2l6ZVRpbWVvdXQhOiBOb2RlSlMuVGltZW91dDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gICAgcHJpdmF0ZSByZXNpemVGbiE6ICgpID0+IHZvaWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHJldHVybjtcblxuICAgICAgICB0aGlzLmVuc3VyZUpRdWVyeUFuZFNsaWNrJCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVJbml0aWFsaXplU2xpZGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgd2FpdEZvckpRdWVyeSQoKSB7XG4gICAgICAgIHJldHVybiB0aW1lcigwLCA0MCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoKSA9PiAod2luZG93IGFzIGFueSkualF1ZXJ5IHx8ICh3aW5kb3cgYXMgYW55KS4kKSxcbiAgICAgICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0aW1lb3V0KHsgZmlyc3Q6IDUwMDAgfSksXG4gICAgICAgICAgICAvLyBleHBvbmUgJCAvIGpRdWVyeSBnbG9iYWwgcG9yIHNpIGVsIGJ1bmRsZSBubyBsbyBoaXpvXG4gICAgICAgICAgICBtYXAoKGpxKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdyA9IHdpbmRvdyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgaWYgKCF3LiQpIHcuJCA9IGpxO1xuICAgICAgICAgICAgICAgIGlmICghdy5qUXVlcnkpIHcualF1ZXJ5ID0ganE7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGpxO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgcHJpdmF0ZSB3YWl0Rm9yU2xpY2skKCkge1xuICAgICAgICByZXR1cm4gdGltZXIoMCwgNDApLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHcgPSB3aW5kb3cgYXMgYW55O1xuICAgICAgICAgICAgICAgIGNvbnN0IGpxID0gdy5qUXVlcnkgfHwgdy4kO1xuICAgICAgICAgICAgICAgIHJldHVybiBqcSAmJiBqcS5mbiAmJiBqcS5mbi5zbGljaztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRpbWVvdXQoeyBmaXJzdDogNTAwMCB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIENhcmdhIGpRdWVyeSArIHNsaWNrIGVuIG9yZGVuIHkgZXNwZXJhIGEgcXVlIGVzdMOpbiBsaXN0b3MgKi9cbiAgICBwcml2YXRlIGVuc3VyZUpRdWVyeUFuZFNsaWNrJCgpIHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHcgPSB3aW5kb3cgYXMgYW55O1xuICAgICAgICAgICAgY29uc3QgaGFzSlEgPSAhISh3LmpRdWVyeSB8fCB3LiQpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2xpY2sgPSAhISh3LmpRdWVyeT8uZm4/LnNsaWNrIHx8IHcuJD8uZm4/LnNsaWNrKTtcblxuICAgICAgICAgICAgaWYgKGhhc0pRICYmIGhhc1NsaWNrKSByZXR1cm4gb2Yodm9pZCAwKTtcblxuICAgICAgICAgICAgLy8gQ2FyZ2EgZW4gY2FkZW5hIHkgZXNwZXJhIGRlZmluaWNpw7NuIHJlYWxcbiAgICAgICAgICAgIHJldHVybiBVdGlscy5sb2FkU2NyaXB0JCgnYXNzZXRzL2JhYnlsb24vanMvanF1ZXJ5Lm1pbi5qcycpLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2FpdEZvckpRdWVyeSQoKSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKCdhc3NldHMvYmFieWxvbi9zbGljay9zbGljay5taW4uanMnKVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMud2FpdEZvclNsaWNrJCgpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNhcmdhbmRvIGpRdWVyeS9zbGljaycsIGUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2Yodm9pZCAwKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICAvLyBMaW1waWFyIGVsIGxpc3RlbmVyIGRlIHJlZGltZW5zaW9uYW1pZW50byBjdWFuZG8gZWwgY29tcG9uZW50ZSBzZSBkZXN0cnV5ZVxuICAgICAgICAgICAgaWYgKHRoaXMucmVzaXplVGltZW91dCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplRm4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb2FkRGVwZW5kZW5jaWVzQW5kSW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKCdhc3NldHMvYmFieWxvbi9qcy9qcXVlcnkubWluLmpzJylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLndhaXRGb3JTbGlja0F2YWlsYWJpbGl0eSgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmtKb2luKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFV0aWxzLmxvYWRTY3JpcHQkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3NldHMvYmFieWxvbi9zbGljay9zbGljay5taW4uanMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXRpbHMubG9hZFN0eWxlJChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNzZXRzL2JhYnlsb24vc2xpY2svc2xpY2suY3NzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leGVjdXRlSW5pdGlhbGl6ZVNsaWRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhlY3V0ZUluaXRpYWxpemVTbGlkZXIoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBsZXQgbGFzdFdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG5cbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRzbGlkZXJXcmFwcGVyID0gJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgICAnLmNzX3NsaWRlcl93cmFwcGVyJ1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghJHNsaWRlcldyYXBwZXIuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVNsaWRlcigpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZUZuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUZuID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhuZXdXaWR0aCAtIGxhc3RXaWR0aCkgPiA1MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFdpZHRoID0gbmV3V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0ICRzbGlkZXIgPSAkKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkc2xpZGVyLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNsaWRlci5zbGljaygndW5zbGljaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVTbGlkZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVGbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV4ZWN1dGVJbml0aWFsaXplU2xpZGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgNzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YWl0Rm9yU2xpY2tBdmFpbGFiaWxpdHkoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aW1lcigwLCA3MCkucGlwZShcbiAgICAgICAgICAgIC8vIFBvbGxpbmcgY2FkYSA3MG1zXG4gICAgICAgICAgICB0YWtlV2hpbGUoXG4gICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiAkICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgJC5mbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mICQuZm4uc2xpY2sgIT09ICd1bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZih1bmRlZmluZWQpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdGlhbGl6ZVNsaWRlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWRlciA9ICQodGhpcy5lbC5uYXRpdmVFbGVtZW50KSBhcyBhbnk7XG5cbiAgICAgICAgaWYgKCEkc2xpZGVyLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0ICRzbGlja0FjdGl2ZSA9ICRzbGlkZXIuZmluZCgnLmNzX3NsaWRlcl93cmFwcGVyJyk7XG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgICRzbGlja0FjdGl2ZS5zbGljaygndW5zbGljaycpOyAvLyBEZXN0cnV5ZSBlbCBzbGlkZXIgYWN0dWFsXG4gICAgICAgIH1cblxuICAgICAgICBzd2l0Y2ggKHRoaXMuc2xpZGVycykge1xuICAgICAgICAgICAgY2FzZSAnY3Nfc2xpZGVyX2NvbnRhaW5lcic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXIoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19nYWxsZXJ5X3NsaWRlcl9uYXYnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyTmF2KCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzInOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyTmF2XzIoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19nYWxsZXJ5X3NsaWRlcl90aHVtYic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXJUaHVtYigkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNTbGlkZXJzKFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX3RodW1iJyxcbiAgICAgICAgICAgICAgICAgICAgJy5jc19nYWxsZXJ5X3NsaWRlcl9uYXYnXG4gICAgICAgICAgICAgICAgKTsgLy8gU2luY3Jvbml6YSBsb3Mgc2xpZGVycyBwb3IgdGVtYSBkZSByZW5kYXJpemFkbyBlbiBlbCBET01cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NzX2dhbGxlcnlfc2xpZGVyX3RodW1iXzInOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyVGh1bWJfMigkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN5bmNTbGlkZXJzKFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX3RodW1iXzInLFxuICAgICAgICAgICAgICAgICAgICAnLmNzX2dhbGxlcnlfc2xpZGVyX25hdl8yJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19zbGlkZXJfY29udGFpbmVyMic6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXIyKCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY3Nfc2xpZGVyX2NvbnRhaW5lcjMnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdFNsaWNrU2xpZGVyMygkc2xpZGVyKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NzX3NsaWRlcl9jb250YWluZXI0JzpcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTbGlja1NsaWRlcjQoJHNsaWRlcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjc19zbGlkZXJfY29udGFpbmVyNSc6XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U2xpY2tTbGlkZXI1KCRzbGlkZXIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpY2tBY3RpdmUgPSAkc2xpZGVyLmZpbmQoJy5jc19zbGlkZXJfd3JhcHBlcicpO1xuXG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZBcnJvdyA9ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19sZWZ0X2Fycm93Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19yaWdodF9hcnJvdycpO1xuXG4gICAgICAgICgkc2xpY2tBY3RpdmUgYXMgYW55KS5zbGljayh7XG4gICAgICAgICAgICBhdXRvcGxheTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWF1dG9wbGF5JywgMSksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoXG4gICAgICAgICAgICAgICAgJHNsaWRlcixcbiAgICAgICAgICAgICAgICAnZGF0YS1hdXRvcGxheScsXG4gICAgICAgICAgICAgICAgMzAwMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtc3BlZWQnLCA2MDApLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1sb29wJywgMCkgPT09IDAsXG4gICAgICAgICAgICBzbGlkZXNUb1Nob3c6IHRoaXMuZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyKSxcbiAgICAgICAgICAgIHN3aXBlVG9TbGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHByZXZBcnJvdzogcHJldkFycm93LFxuICAgICAgICAgICAgbmV4dEFycm93OiBuZXh0QXJyb3csXG4gICAgICAgICAgICBjZW50ZXJNb2RlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtY2VudGVyJywgMTApID09PSAxLFxuICAgICAgICAgICAgdmFyaWFibGVXaWR0aDpcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtdmFyaWFibGUtd2lkdGgnLCAxMCkgPT09IDEsXG4gICAgICAgICAgICBkb3RzOiB0cnVlLFxuICAgICAgICAgICAgYXBwZW5kRG90czogJHNsaWRlci5wYXJlbnQoKS5maW5kKCcuY3NfcGFnaW5hdGlvbicpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTbGlja1NsaWRlcjIoJHNsaWRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0ICRzbGlja0FjdGl2ZSA9ICRzbGlkZXIuZmluZCgnLmNzX3NsaWRlcl93cmFwcGVyJyk7XG5cbiAgICAgICAgaWYgKCRzbGlja0FjdGl2ZS5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJykuZmluZCgnLmNzX2xlZnRfYXJyb3cnKTtcbiAgICAgICAgY29uc3QgbmV4dEFycm93ID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJykuZmluZCgnLmNzX3JpZ2h0X2Fycm93Jyk7XG5cbiAgICAgICAgKCRzbGlja0FjdGl2ZSBhcyBhbnkpLnNsaWNrKHtcbiAgICAgICAgICAgIGF1dG9wbGF5OiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtYXV0b3BsYXknLCAxKSxcbiAgICAgICAgICAgIGF1dG9wbGF5U3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgICAgICAgICAkc2xpZGVyLFxuICAgICAgICAgICAgICAgICdkYXRhLWF1dG9wbGF5JyxcbiAgICAgICAgICAgICAgICAzMDAwXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1zcGVlZCcsIDYwMCksXG4gICAgICAgICAgICBpbmZpbml0ZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWxvb3AnLCAwKSA9PT0gMCxcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogdGhpcy5nZXRTbGlkZXNQZXJWaWV3KCRzbGlkZXIpLFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1jZW50ZXInLCAxMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDEwKSA9PT0gMSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpY2tTbGlkZXIzKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpY2tBY3RpdmUgPSAkc2xpZGVyLmZpbmQoJy5jc19zbGlkZXJfd3JhcHBlcicpO1xuXG4gICAgICAgIGlmICgkc2xpY2tBY3RpdmUuaGFzQ2xhc3MoJ3NsaWNrLWluaXRpYWxpemVkJykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZXZBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5zaWJsaW5ncygnLmNzX3NsaWRlcl9hcnJvd3MnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19sZWZ0X2Fycm93Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5zaWJsaW5ncygnLmNzX3NsaWRlcl9hcnJvd3MnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19yaWdodF9hcnJvdycpO1xuXG4gICAgICAgICgkc2xpY2tBY3RpdmUgYXMgYW55KS5zbGljayh7XG4gICAgICAgICAgICBhdXRvcGxheTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWF1dG9wbGF5JywgMCksXG4gICAgICAgICAgICBhdXRvcGxheVNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoXG4gICAgICAgICAgICAgICAgJHNsaWRlcixcbiAgICAgICAgICAgICAgICAnZGF0YS1hdXRvcGxheScsXG4gICAgICAgICAgICAgICAgMzAwMFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHNwZWVkOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtc3BlZWQnLCA2MDApLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1sb29wJywgMCkgPT09IDAsXG4gICAgICAgICAgICBzbGlkZXNUb1Nob3c6IHRoaXMuZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyKSxcbiAgICAgICAgICAgIHN3aXBlVG9TbGlkZTogdHJ1ZSxcbiAgICAgICAgICAgIHByZXZBcnJvdzogcHJldkFycm93LFxuICAgICAgICAgICAgbmV4dEFycm93OiBuZXh0QXJyb3csXG4gICAgICAgICAgICBjZW50ZXJNb2RlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtY2VudGVyJywgMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDApID09PSAxLFxuICAgICAgICAgICAgZG90czogZmFsc2UsXG4gICAgICAgICAgICBhcHBlbmREb3RzOiAkc2xpZGVyLnBhcmVudCgpLmZpbmQoJy5jc19wYWdpbmF0aW9uX3NlcnZpY2VzJyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyTmF2KCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDMsXG4gICAgICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgICAgICAgICAgICAgYXNOYXZGb3I6ICQoJy5jc19nYWxsZXJ5X3NsaWRlcl90aHVtYl9taW5pJykubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgID8gJy5jc19nYWxsZXJ5X3NsaWRlcl90aHVtYl9taW5pJ1xuICAgICAgICAgICAgICAgICAgICA6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfdGh1bWInLFxuICAgICAgICAgICAgICAgIGZvY3VzT25TZWxlY3Q6IHRydWUsXG4gICAgICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZW50ZXJNb2RlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbnRlclBhZGRpbmc6ICcwcHgnLFxuICAgICAgICAgICAgICAgIHNwZWVkOiAxMDAwLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyTmF2XzIoJHNsaWRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICgkc2xpZGVyLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMyxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgYXNOYXZGb3I6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfdGh1bWJfMicsXG4gICAgICAgICAgICBmb2N1c09uU2VsZWN0OiB0cnVlLFxuICAgICAgICAgICAgYXJyb3dzOiBmYWxzZSxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRydWUsXG4gICAgICAgICAgICBjZW50ZXJQYWRkaW5nOiAnMHB4JyxcbiAgICAgICAgICAgIHNwZWVkOiAxMDAwLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTbGlja1NsaWRlclRodW1iKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlclxuICAgICAgICAgICAgLmNsb3Nlc3QoJy5jc19nYWxsZXJ5X2hvdmVyX3Nob3dfbmF2JylcbiAgICAgICAgICAgIC5maW5kKCcuY3NfbGVmdF9hcnJvd19nYWxsZXJ5Jyk7XG4gICAgICAgIGNvbnN0IG5leHRBcnJvdyA9ICRzbGlkZXJcbiAgICAgICAgICAgIC5jbG9zZXN0KCcuY3NfZ2FsbGVyeV9ob3Zlcl9zaG93X25hdicpXG4gICAgICAgICAgICAuZmluZCgnLmNzX3JpZ2h0X2Fycm93X2dhbGxlcnknKTtcblxuICAgICAgICAkc2xpZGVyLnNsaWNrKHtcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogMSxcbiAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGFzTmF2Rm9yOiAnLmNzX2dhbGxlcnlfc2xpZGVyX25hdi5zbGljay1zbGlkZXInLFxuICAgICAgICAgICAgaW5maW5pdGU6IHRydWUsXG4gICAgICAgICAgICBzcGVlZDogNjAwLFxuICAgICAgICAgICAgYXV0b3BsYXk6IGZhbHNlLFxuICAgICAgICAgICAgZmFkZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U2xpY2tTbGlkZXJUaHVtYl8yKCRzbGlkZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoJHNsaWRlci5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldkFycm93ID0gJHNsaWRlclxuICAgICAgICAgICAgLmNsb3Nlc3QoJy5jc19nYWxsZXJ5X2hvdmVyX3Nob3dfbmF2JylcbiAgICAgICAgICAgIC5maW5kKCcuY3NfbGVmdF9hcnJvd19nYWxsZXJ5XzIgLmNzX3N3aXBlcl9idXR0b25fcHJldicpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyXG4gICAgICAgICAgICAuY2xvc2VzdCgnLmNzX2dhbGxlcnlfaG92ZXJfc2hvd19uYXYnKVxuICAgICAgICAgICAgLmZpbmQoJy5jc19yaWdodF9hcnJvd19nYWxsZXJ5XzIgLmNzX3N3aXBlcl9idXR0b25fbmV4dCcpO1xuXG4gICAgICAgICRzbGlkZXIuc2xpY2soe1xuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLFxuICAgICAgICAgICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgICAgICAgICBwcmV2QXJyb3c6IHByZXZBcnJvdyxcbiAgICAgICAgICAgIG5leHRBcnJvdzogbmV4dEFycm93LFxuICAgICAgICAgICAgYXNOYXZGb3I6ICcuY3NfZ2FsbGVyeV9zbGlkZXJfbmF2XzIuc2xpY2stc2xpZGVyJyxcbiAgICAgICAgICAgIGluZmluaXRlOiBmYWxzZSxcbiAgICAgICAgICAgIHNwZWVkOiA2MDAsXG4gICAgICAgICAgICBhdXRvcGxheTogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyNCgkc2xpZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWNrQWN0aXZlID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcblxuICAgICAgICBpZiAoJHNsaWNrQWN0aXZlLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfbGVmdF9hcnJvdycpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfcmlnaHRfYXJyb3cnKTtcblxuICAgICAgICBjb25zdCBzbGlkZXNUb1Nob3cgPSB0aGlzLmdldFNsaWRlc1BlclZpZXcoJHNsaWRlcik7XG5cbiAgICAgICAgKCRzbGlja0FjdGl2ZSBhcyBhbnkpLnNsaWNrKHtcbiAgICAgICAgICAgIGF1dG9wbGF5OiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtYXV0b3BsYXknLCAxKSxcbiAgICAgICAgICAgIGF1dG9wbGF5U3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgICAgICAgICAkc2xpZGVyLFxuICAgICAgICAgICAgICAgICdkYXRhLWF1dG9wbGF5JyxcbiAgICAgICAgICAgICAgICAzMDAwXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3BlZWQ6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1zcGVlZCcsIDYwMCksXG4gICAgICAgICAgICBpbmZpbml0ZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWxvb3AnLCAwKSA9PT0gMCxcbiAgICAgICAgICAgIHNsaWRlc1RvU2hvdzogc2xpZGVzVG9TaG93LFxuICAgICAgICAgICAgc3dpcGVUb1NsaWRlOiB0cnVlLFxuICAgICAgICAgICAgcHJldkFycm93OiBwcmV2QXJyb3csXG4gICAgICAgICAgICBuZXh0QXJyb3c6IG5leHRBcnJvdyxcbiAgICAgICAgICAgIGNlbnRlck1vZGU6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1jZW50ZXInLCAxMCkgPT09IDEsXG4gICAgICAgICAgICB2YXJpYWJsZVdpZHRoOlxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS12YXJpYWJsZS13aWR0aCcsIDEwKSA9PT0gMSxcbiAgICAgICAgICAgIGRvdHM6IHRydWUsXG4gICAgICAgICAgICBhcHBlbmREb3RzOiAkc2xpZGVyLnBhcmVudCgpLmZpbmQoJy5jc19wYWdpbmF0aW9uJyksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRvZ2dsZVNsaWRlckFycm93cygkc2xpZGVyLCBzbGlkZXNUb1Nob3cpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNsaWNrU2xpZGVyNSgkc2xpZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgJHNsaWNrQWN0aXZlID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGVyX3dyYXBwZXInKTtcblxuICAgICAgICBpZiAoJHNsaWNrQWN0aXZlLmhhc0NsYXNzKCdzbGljay1pbml0aWFsaXplZCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfbGVmdF9hcnJvdycpO1xuICAgICAgICBjb25zdCBuZXh0QXJyb3cgPSAkc2xpZGVyLmNsb3Nlc3QoJy5jc19zbGlkZXInKS5maW5kKCcuY3NfcmlnaHRfYXJyb3cnKTtcblxuICAgICAgICAoJHNsaWNrQWN0aXZlIGFzIGFueSkuc2xpY2soe1xuICAgICAgICAgICAgYXV0b3BsYXk6IHRoaXMuZ2V0U2xpZGVyU2V0dGluZygkc2xpZGVyLCAnZGF0YS1hdXRvcGxheScsIDEpLFxuICAgICAgICAgICAgYXV0b3BsYXlTcGVlZDogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKFxuICAgICAgICAgICAgICAgICRzbGlkZXIsXG4gICAgICAgICAgICAgICAgJ2RhdGEtYXV0b3BsYXknLFxuICAgICAgICAgICAgICAgIDMwMDBcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzcGVlZDogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLXNwZWVkJywgNjAwKSxcbiAgICAgICAgICAgIGluZmluaXRlOiB0aGlzLmdldFNsaWRlclNldHRpbmcoJHNsaWRlciwgJ2RhdGEtbG9vcCcsIDApID09PSAwLFxuICAgICAgICAgICAgc2xpZGVzVG9TaG93OiB0aGlzLmdldFNsaWRlc1BlclZpZXcoJHNsaWRlciksXG4gICAgICAgICAgICBzd2lwZVRvU2xpZGU6IHRydWUsXG4gICAgICAgICAgICBwcmV2QXJyb3c6IHByZXZBcnJvdyxcbiAgICAgICAgICAgIG5leHRBcnJvdzogbmV4dEFycm93LFxuICAgICAgICAgICAgY2VudGVyTW9kZTogdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLWNlbnRlcicsIDEwKSA9PT0gMSxcbiAgICAgICAgICAgIHZhcmlhYmxlV2lkdGg6XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTbGlkZXJTZXR0aW5nKCRzbGlkZXIsICdkYXRhLXZhcmlhYmxlLXdpZHRoJywgMTApID09PSAxLFxuICAgICAgICAgICAgZG90czogdHJ1ZSxcbiAgICAgICAgICAgIGFwcGVuZERvdHM6ICRzbGlkZXIuY2xvc2VzdCgnLmNzX3NsaWRlcicpLmZpbmQoJy5jc19wYWdpbmF0aW9uJyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2xpZGVyU2V0dGluZyhcbiAgICAgICAgJHNsaWRlcjogYW55LFxuICAgICAgICBzZXR0aW5nTmFtZTogc3RyaW5nLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGFueVxuICAgICk6IGFueSB7XG4gICAgICAgIHJldHVybiBwYXJzZUludCgkc2xpZGVyLmF0dHIoc2V0dGluZ05hbWUpLCAxMCkgfHwgZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2xpZGVzUGVyVmlldygkc2xpZGVyOiBhbnkpOiBudW1iZXIge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVzUGVyVmlld1R5cGUgPSAkc2xpZGVyLmF0dHIoJ2RhdGEtc2xpZGVzLXBlci12aWV3Jyk7XG4gICAgICAgICAgICBjb25zdCB4c1NsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS14cy1zbGlkZXMnKSwgMTApIHx8IDE7XG4gICAgICAgICAgICBjb25zdCBzbVNsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1zbS1zbGlkZXMnKSwgMTApIHx8IDI7XG4gICAgICAgICAgICBjb25zdCBtZFNsaWRlcyA9IHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1tZC1zbGlkZXMnKSwgMTApIHx8IDI7XG4gICAgICAgICAgICBjb25zdCBtbGdTbGlkZXMgPVxuICAgICAgICAgICAgICAgIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1tbGctc2xpZGVzJyksIDEwKSB8fCAzO1xuICAgICAgICAgICAgY29uc3QgbGdTbGlkZXMgPSBwYXJzZUludCgkc2xpZGVyLmF0dHIoJ2RhdGEtbGctc2xpZGVzJyksIDEwKSB8fCAzO1xuICAgICAgICAgICAgY29uc3QgeGxTbGlkZXMgPVxuICAgICAgICAgICAgICAgIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS14bC1zbGlkZXMnKSwgMTApIHx8IGxnU2xpZGVzO1xuXG4gICAgICAgICAgICBpZiAoc2xpZGVzUGVyVmlld1R5cGUgPT09ICdyZXNwb25zaXZlJykge1xuICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDU3Nikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geHNTbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc21TbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDEwMjQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1kU2xpZGVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGggPCAxMjgwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtbGdTbGlkZXM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDE0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxnU2xpZGVzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB4bFNsaWRlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZUludChzbGlkZXNQZXJWaWV3VHlwZSwgMTApIHx8IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KCRzbGlkZXIuYXR0cignZGF0YS1zbGlkZXMtcGVyLXZpZXcnKSwgMTApIHx8IDM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2dnbGVTbGlkZXJBcnJvd3MoJHNsaWRlcjogYW55LCBzbGlkZXNUb1Nob3c6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCAkc2xpZGVzID0gJHNsaWRlci5maW5kKCcuY3Nfc2xpZGUnKTtcbiAgICAgICAgY29uc3QgdG90YWxTbGlkZXMgPSAkc2xpZGVzLmxlbmd0aDtcblxuICAgICAgICBjb25zdCAkc2xpZGVyQ29udGFpbmVyID0gJHNsaWRlci5jbG9zZXN0KCcuY3Nfc2xpZGVyJyk7XG4gICAgICAgIGNvbnN0IHNob3VsZEhpZGUgPSB0b3RhbFNsaWRlcyA8PSBzbGlkZXNUb1Nob3c7XG5cbiAgICAgICAgJHNsaWRlckNvbnRhaW5lci50b2dnbGVDbGFzcygnaGlkZS1hcnJvd3MnLCBzaG91bGRIaWRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN5bmNTbGlkZXJzKG1haW5TZWxlY3Rvcjogc3RyaW5nLCBuYXZTZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0ICRtYWluID0gJChtYWluU2VsZWN0b3IpO1xuICAgICAgICBjb25zdCAkbmF2ID0gJChuYXZTZWxlY3Rvcik7XG5cbiAgICAgICAgaWYgKCRtYWluLmxlbmd0aCAmJiAkbmF2Lmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCEkbWFpbi5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgICAgICRtYWluLnNsaWNrKHtcbiAgICAgICAgICAgICAgICAgICAgc2xpZGVzVG9TaG93OiAxLFxuICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Njcm9sbDogMSxcbiAgICAgICAgICAgICAgICAgICAgYXJyb3dzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBmYWRlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBhc05hdkZvcjogbmF2U2VsZWN0b3IsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghJG5hdi5oYXNDbGFzcygnc2xpY2staW5pdGlhbGl6ZWQnKSkge1xuICAgICAgICAgICAgICAgICRuYXYuc2xpY2soe1xuICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDMsXG4gICAgICAgICAgICAgICAgICAgIHNsaWRlc1RvU2Nyb2xsOiAxLFxuICAgICAgICAgICAgICAgICAgICBhc05hdkZvcjogbWFpblNlbGVjdG9yLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c09uU2VsZWN0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBhcnJvd3M6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyTW9kZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBtb3ZlVG9OZXh0U2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCAkc2xpZGVyID0gJCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKCRzbGlkZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgJHNsaWRlci5zbGljaygnc2xpY2tOZXh0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=