@rededor/site-front-end-lib 4.0.0-alpha.4 → 17.0.0

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 (524) hide show
  1. package/README.md +0 -9
  2. package/esm2022/lib/components/algolia-dropdown/algolia-dropdown.component.mjs +126 -0
  3. package/esm2022/lib/components/avatar/avatar.component.mjs +66 -0
  4. package/esm2022/lib/components/banner/content-banner/content-banner.component.mjs +41 -0
  5. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +133 -0
  6. package/esm2022/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.mjs +65 -0
  7. package/esm2022/lib/components/cards/expandable-card/expandable-card.component.mjs +69 -0
  8. package/esm2022/lib/components/cards/testimonial-card/testimonial-card.component.mjs +63 -0
  9. package/esm2022/lib/components/carousels/testimonials-carousel/testimonials-carousel.component.mjs +64 -0
  10. package/esm2022/lib/components/cta-wrapper/cta-wrapper.component.mjs +84 -0
  11. package/esm2022/lib/components/dropdown-search/dropdown-search-category.component.mjs +24 -0
  12. package/esm2022/lib/components/dropdown-search/dropdown-search-not-found.component.mjs +24 -0
  13. package/esm2022/lib/components/dropdown-search/dropdown-search-option.component.mjs +65 -0
  14. package/esm2022/lib/components/dropdown-search/dropdown-search.component.mjs +292 -0
  15. package/esm2022/lib/components/error/error-service/error.service.mjs +17 -0
  16. package/esm2022/lib/components/error/error.component.mjs +183 -0
  17. package/esm2022/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.mjs +103 -0
  18. package/esm2022/lib/components/filters/filter-generic/filter-generic.component.mjs +235 -0
  19. package/esm2022/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.mjs +150 -0
  20. package/esm2022/lib/components/footer/footer.component.mjs +125 -0
  21. package/esm2022/lib/components/footer/helpers/footerTheme.func.mjs +70 -0
  22. package/esm2022/lib/components/footer/models/FooterTheme.model.mjs +2 -0
  23. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +36 -0
  24. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +12 -0
  25. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +17 -0
  26. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +51 -0
  27. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +23 -0
  28. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +32 -0
  29. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +11 -0
  30. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +77 -0
  31. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +99 -0
  32. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +26 -0
  33. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +54 -0
  34. package/esm2022/lib/components/header/header.component.mjs +104 -0
  35. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +136 -0
  36. package/esm2022/lib/components/header/models/HeaderTheme.model.mjs +2 -0
  37. package/esm2022/lib/components/header/services/header.service.mjs +43 -0
  38. package/esm2022/lib/components/image/image.component.mjs +61 -0
  39. package/esm2022/lib/components/index.mjs +52 -0
  40. package/esm2022/lib/components/input-file/input-file.component.mjs +304 -0
  41. package/esm2022/lib/components/load-screen/load-screen.component.mjs +23 -0
  42. package/esm2022/lib/components/overlay/overlay.component.mjs +19 -0
  43. package/esm2022/lib/components/page-header/page-header.component.mjs +47 -0
  44. package/esm2022/lib/components/page-template-fullcontent/page-template-fullcontent.component.mjs +30 -0
  45. package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +39 -0
  46. package/esm2022/lib/components/pagination/pagination.component.mjs +64 -0
  47. package/esm2022/lib/components/post-header/post-header.component.mjs +56 -0
  48. package/esm2022/lib/components/search/search.component.mjs +147 -0
  49. package/esm2022/lib/components/section-navigation/section-navigation.component.mjs +149 -0
  50. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +43 -0
  51. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +43 -0
  52. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +42 -0
  53. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +11 -0
  54. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +2 -0
  55. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +23 -0
  56. package/esm2022/lib/components/sidebar-navigation/sidebar-navigation.component.mjs +119 -0
  57. package/esm2022/lib/components/sticky-navigation/sticky-navigation.component.mjs +132 -0
  58. package/esm2022/lib/components/whatsapp/whatsapp.component.mjs +60 -0
  59. package/esm2022/lib/directives/index.mjs +4 -0
  60. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +29 -0
  61. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +197 -0
  62. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +52 -0
  63. package/esm2022/lib/enums/EnumDoencaTaxonomy.enum.mjs +11 -0
  64. package/esm2022/lib/enums/EnumError.enum.mjs +6 -0
  65. package/esm2022/lib/enums/EnumThemes.enum.mjs +9 -0
  66. package/esm2022/lib/enums/Estados.enum.mjs +31 -0
  67. package/esm2022/lib/enums/Filter.enum.mjs +9 -0
  68. package/esm2022/lib/enums/IconCuraDefaultType.enum.mjs +121 -0
  69. package/esm2022/lib/enums/ImageMimeType.enum.mjs +7 -0
  70. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +16 -0
  71. package/esm2022/lib/enums/RdsiteModalDrawerComponentStyle.enum.mjs +9 -0
  72. package/esm2022/lib/enums/UnidadeCoverageType.enum.mjs +7 -0
  73. package/esm2022/lib/enums/index.mjs +11 -0
  74. package/esm2022/lib/helpers/check-safari-agent.func.mjs +7 -0
  75. package/esm2022/lib/helpers/formatPhone.func.mjs +29 -0
  76. package/esm2022/lib/helpers/getCircularReplacer.func.mjs +38 -0
  77. package/esm2022/lib/helpers/getSiteUrl.func.mjs +11 -0
  78. package/esm2022/lib/helpers/index.mjs +9 -0
  79. package/esm2022/lib/helpers/mediaQueries.mjs +11 -0
  80. package/esm2022/lib/helpers/removeDuplicateObjectsFromArray.func.mjs +5 -0
  81. package/esm2022/lib/helpers/removeDuplicateValuesFromArray.func.mjs +5 -0
  82. package/esm2022/lib/helpers/removeHtmlTags.func.mjs +6 -0
  83. package/esm2022/lib/helpers/toQueryParams.func.mjs +8 -0
  84. package/esm2022/lib/interceptors/error.interceptor.mjs +36 -0
  85. package/esm2022/lib/interceptors/index.mjs +3 -0
  86. package/esm2022/lib/interceptors/log.interceptor.mjs +35 -0
  87. package/esm2022/lib/middlewares/index.mjs +5 -0
  88. package/esm2022/lib/middlewares/ssr-initialization.middleware.mjs +8 -0
  89. package/esm2022/lib/middlewares/url-validation-default-logo.mjs +38 -0
  90. package/esm2022/lib/middlewares/url-validation-error-page.mjs +209 -0
  91. package/esm2022/lib/middlewares/url-validation.middleware.mjs +41 -0
  92. package/esm2022/lib/models/algolia-search-api.model.mjs +2 -0
  93. package/esm2022/lib/models/breadcrumbs/breadcrumbs-items.model.mjs +2 -0
  94. package/esm2022/lib/models/breadcrumbs/breadcrumbs-json-item.model.mjs +2 -0
  95. package/esm2022/lib/models/centro-estudos-backend.model.mjs +2 -0
  96. package/esm2022/lib/models/centro-medico.model.mjs +2 -0
  97. package/esm2022/lib/models/content-banner.model.mjs +2 -0
  98. package/esm2022/lib/models/cta-wrapper.model.mjs +2 -0
  99. package/esm2022/lib/models/doenca-backend.model.mjs +2 -0
  100. package/esm2022/lib/models/doenca-taxonomy.model.mjs +2 -0
  101. package/esm2022/lib/models/especialidade-backend.model.mjs +2 -0
  102. package/esm2022/lib/models/exame-backend.model.mjs +2 -0
  103. package/esm2022/lib/models/filters/filter-planos-convenios.model.mjs +2 -0
  104. package/esm2022/lib/models/filters/filter-section.type.mjs +2 -0
  105. package/esm2022/lib/models/filters/filter-sections.model.mjs +2 -0
  106. package/esm2022/lib/models/images/rdsite-image.model.mjs +2 -0
  107. package/esm2022/lib/models/medico-cv.model.mjs +2 -0
  108. package/esm2022/lib/models/medico.model.mjs +2 -0
  109. package/esm2022/lib/models/menu-de-unidade.model.mjs +2 -0
  110. package/esm2022/lib/models/menu-item.model.mjs +2 -0
  111. package/esm2022/lib/models/privacy-tools/privacy-tools.model.mjs +2 -0
  112. package/esm2022/lib/models/rdsl-cobertura.model.mjs +2 -0
  113. package/esm2022/lib/models/rdsl-convenio.model.mjs +2 -0
  114. package/esm2022/lib/models/rdsl-especialidade.model.mjs +2 -0
  115. package/esm2022/lib/models/rdsl-planos.model.mjs +2 -0
  116. package/esm2022/lib/models/rdsl-post-category.model.mjs +2 -0
  117. package/esm2022/lib/models/rdsl-unidade.model.mjs +2 -0
  118. package/esm2022/lib/models/section-navigation.model.mjs +2 -0
  119. package/esm2022/lib/models/seo/seo-data.model.mjs +2 -0
  120. package/esm2022/lib/models/seo/seo-unidade.model.mjs +2 -0
  121. package/esm2022/lib/models/social-meta-properties.model.mjs +2 -0
  122. package/esm2022/lib/models/wordpress/WpResponse.model.mjs +2 -0
  123. package/esm2022/lib/models/wordpress/category/wpCategory.model.mjs +2 -0
  124. package/esm2022/lib/models/wordpress/general/content.model.mjs +2 -0
  125. package/esm2022/lib/models/wordpress/general/excerpt.model.mjs +2 -0
  126. package/esm2022/lib/models/wordpress/general/featuredMedia.model.mjs +2 -0
  127. package/esm2022/lib/models/wordpress/general/guid.model.mjs +2 -0
  128. package/esm2022/lib/models/wordpress/general/index.mjs +11 -0
  129. package/esm2022/lib/models/wordpress/general/links.model.mjs +2 -0
  130. package/esm2022/lib/models/wordpress/general/meta.model.mjs +2 -0
  131. package/esm2022/lib/models/wordpress/general/title.model.mjs +2 -0
  132. package/esm2022/lib/models/wordpress/general/yoastData.model.mjs +2 -0
  133. package/esm2022/lib/models/wordpress/general/yoastHeadJson.model.mjs +2 -0
  134. package/esm2022/lib/models/wordpress/general/yoastMeta.model.mjs +2 -0
  135. package/esm2022/lib/models/wordpress/page/page.model.mjs +2 -0
  136. package/esm2022/lib/models/wordpress/post/post.model.mjs +2 -0
  137. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +2 -0
  138. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +2 -0
  139. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +2 -0
  140. package/esm2022/lib/pipes/index.mjs +2 -0
  141. package/esm2022/lib/pipes/phone/phone.pipe.mjs +18 -0
  142. package/esm2022/lib/services/algolia/algolia.service.mjs +37 -0
  143. package/esm2022/lib/services/algolia-search-api/algolia-search-api.service.mjs +71 -0
  144. package/esm2022/lib/services/geoloc/geoloc.service.mjs +202 -0
  145. package/esm2022/lib/services/http-client/http-client.service.mjs +55 -0
  146. package/esm2022/lib/services/index.mjs +19 -0
  147. package/esm2022/lib/services/log/log.service.mjs +46 -0
  148. package/esm2022/lib/services/mapbox/mapbox.service.mjs +69 -0
  149. package/esm2022/lib/services/modal/modal.service.mjs +56 -0
  150. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +42 -0
  151. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +81 -0
  152. package/esm2022/lib/services/phone/phone.service.mjs +28 -0
  153. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +92 -0
  154. package/esm2022/lib/services/seo/seo.service.mjs +489 -0
  155. package/esm2022/lib/services/server-response/server-response.service.mjs +92 -0
  156. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +197 -0
  157. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +48 -0
  158. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +33 -0
  159. package/esm2022/lib/services/youtube/youtube.service.mjs +39 -0
  160. package/esm2022/lib/tokens/LibConfig.mjs +4 -0
  161. package/esm2022/lib/tokens/express.tokens.mjs +4 -0
  162. package/esm2022/public-api.mjs +23 -0
  163. package/esm2022/rededor-site-front-end-lib.mjs +5 -0
  164. package/fesm2022/rededor-site-front-end-lib.mjs +6408 -2
  165. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  166. package/index.d.ts +5 -3
  167. package/lib/components/algolia-dropdown/algolia-dropdown.component.d.ts +38 -0
  168. package/lib/components/avatar/avatar.component.d.ts +26 -0
  169. package/lib/components/banner/content-banner/content-banner.component.d.ts +20 -0
  170. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +36 -0
  171. package/lib/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.d.ts +41 -0
  172. package/lib/components/cards/expandable-card/expandable-card.component.d.ts +29 -0
  173. package/lib/components/cards/testimonial-card/testimonial-card.component.d.ts +31 -0
  174. package/lib/components/carousels/testimonials-carousel/testimonials-carousel.component.d.ts +28 -0
  175. package/lib/components/cta-wrapper/cta-wrapper.component.d.ts +33 -0
  176. package/lib/components/dropdown-search/dropdown-search-category.component.d.ts +9 -0
  177. package/lib/components/dropdown-search/dropdown-search-not-found.component.d.ts +9 -0
  178. package/lib/components/dropdown-search/dropdown-search-option.component.d.ts +26 -0
  179. package/lib/components/dropdown-search/dropdown-search.component.d.ts +71 -0
  180. package/lib/components/error/error-service/error.service.d.ts +8 -0
  181. package/lib/components/error/error.component.d.ts +48 -0
  182. package/lib/components/filter-letter-and-terms/filter-letter-and-terms.component.d.ts +36 -0
  183. package/lib/components/filters/filter-generic/filter-generic.component.d.ts +77 -0
  184. package/lib/components/filters/filter-planos-convenios/filter-planos-convenios.component.d.ts +45 -0
  185. package/lib/components/footer/footer.component.d.ts +49 -0
  186. package/lib/components/footer/helpers/footerTheme.func.d.ts +3 -0
  187. package/lib/components/footer/models/FooterTheme.model.d.ts +7 -0
  188. package/lib/components/header/components/header-action-menu/header-action-menu.component.d.ts +16 -0
  189. package/lib/components/header/components/header-aux-menu/header-aux-menu.component.d.ts +5 -0
  190. package/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.d.ts +6 -0
  191. package/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.d.ts +21 -0
  192. package/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.d.ts +10 -0
  193. package/lib/components/header/components/header-logo/header-logo.component.d.ts +12 -0
  194. package/lib/components/header/components/header-main-menu/header-main-menu.component.d.ts +5 -0
  195. package/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.d.ts +29 -0
  196. package/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.d.ts +41 -0
  197. package/lib/components/header/components/header-side-menu/header-side-menu.component.d.ts +11 -0
  198. package/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.d.ts +22 -0
  199. package/lib/components/header/header.component.d.ts +36 -0
  200. package/lib/components/header/helpers/headerTheme.func.d.ts +3 -0
  201. package/lib/components/header/models/HeaderTheme.model.d.ts +8 -0
  202. package/lib/components/header/services/header.service.d.ts +11 -0
  203. package/lib/components/image/image.component.d.ts +22 -0
  204. package/lib/components/index.d.ts +50 -0
  205. package/lib/components/input-file/input-file.component.d.ts +88 -0
  206. package/{components/load-screen/index.d.ts → lib/components/load-screen/load-screen.component.d.ts} +5 -6
  207. package/{components/overlay/index.d.ts → lib/components/overlay/overlay.component.d.ts} +4 -6
  208. package/lib/components/page-header/page-header.component.d.ts +20 -0
  209. package/lib/components/page-template-fullcontent/page-template-fullcontent.component.d.ts +14 -0
  210. package/lib/components/page-template-sidebar/page-template-sidebar.component.d.ts +17 -0
  211. package/lib/components/pagination/pagination.component.d.ts +30 -0
  212. package/lib/components/post-header/post-header.component.d.ts +31 -0
  213. package/lib/components/search/search.component.d.ts +48 -0
  214. package/lib/components/section-navigation/section-navigation.component.d.ts +44 -0
  215. package/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.d.ts +23 -0
  216. package/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.d.ts +15 -0
  217. package/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.d.ts +22 -0
  218. package/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.d.ts +5 -0
  219. package/lib/components/side-ctas/models/SideCta.model.d.ts +5 -0
  220. package/lib/components/side-ctas/side-ctas.component.d.ts +11 -0
  221. package/lib/components/sidebar-navigation/sidebar-navigation.component.d.ts +39 -0
  222. package/lib/components/sticky-navigation/sticky-navigation.component.d.ts +43 -0
  223. package/lib/components/whatsapp/whatsapp.component.d.ts +29 -0
  224. package/lib/directives/index.d.ts +3 -0
  225. package/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.d.ts +10 -0
  226. package/lib/directives/rdsite-link/rdsite-link.directive.d.ts +40 -0
  227. package/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.d.ts +17 -0
  228. package/lib/enums/EnumDoencaTaxonomy.enum.d.ts +8 -0
  229. package/lib/enums/EnumError.enum.d.ts +4 -0
  230. package/lib/enums/EnumThemes.enum.d.ts +7 -0
  231. package/lib/enums/Estados.enum.d.ts +29 -0
  232. package/lib/enums/Filter.enum.d.ts +7 -0
  233. package/{enums/index.d.ts → lib/enums/IconCuraDefaultType.enum.d.ts} +1 -58
  234. package/lib/enums/ImageMimeType.enum.d.ts +5 -0
  235. package/lib/enums/RdsiteModalComponentStyle.enum.d.ts +14 -0
  236. package/lib/enums/RdsiteModalDrawerComponentStyle.enum.d.ts +7 -0
  237. package/lib/enums/UnidadeCoverageType.enum.d.ts +5 -0
  238. package/lib/enums/index.d.ts +10 -0
  239. package/lib/helpers/check-safari-agent.func.d.ts +2 -0
  240. package/lib/helpers/formatPhone.func.d.ts +1 -0
  241. package/lib/helpers/getCircularReplacer.func.d.ts +7 -0
  242. package/lib/helpers/getSiteUrl.func.d.ts +2 -0
  243. package/lib/helpers/index.d.ts +8 -0
  244. package/lib/helpers/mediaQueries.d.ts +6 -0
  245. package/lib/helpers/removeDuplicateObjectsFromArray.func.d.ts +2 -0
  246. package/lib/helpers/removeDuplicateValuesFromArray.func.d.ts +2 -0
  247. package/lib/helpers/removeHtmlTags.func.d.ts +2 -0
  248. package/lib/helpers/toQueryParams.func.d.ts +5 -0
  249. package/lib/interceptors/error.interceptor.d.ts +13 -0
  250. package/lib/interceptors/index.d.ts +2 -0
  251. package/lib/interceptors/log.interceptor.d.ts +11 -0
  252. package/lib/middlewares/index.d.ts +4 -0
  253. package/lib/middlewares/ssr-initialization.middleware.d.ts +2 -0
  254. package/lib/middlewares/url-validation-default-logo.d.ts +1 -0
  255. package/lib/middlewares/url-validation-error-page.d.ts +22 -0
  256. package/lib/middlewares/url-validation.middleware.d.ts +13 -0
  257. package/lib/models/algolia-search-api.model.d.ts +179 -0
  258. package/lib/models/breadcrumbs/breadcrumbs-items.model.d.ts +10 -0
  259. package/lib/models/breadcrumbs/breadcrumbs-json-item.model.d.ts +8 -0
  260. package/lib/models/centro-estudos-backend.model.d.ts +8 -0
  261. package/lib/models/centro-medico.model.d.ts +33 -0
  262. package/lib/models/content-banner.model.d.ts +15 -0
  263. package/lib/models/cta-wrapper.model.d.ts +9 -0
  264. package/lib/models/doenca-backend.model.d.ts +25 -0
  265. package/lib/models/doenca-taxonomy.model.d.ts +11 -0
  266. package/lib/models/especialidade-backend.model.d.ts +24 -0
  267. package/lib/models/exame-backend.model.d.ts +25 -0
  268. package/lib/models/filters/filter-planos-convenios.model.d.ts +28 -0
  269. package/lib/models/filters/filter-section.type.d.ts +13 -0
  270. package/lib/models/filters/filter-sections.model.d.ts +52 -0
  271. package/lib/models/images/rdsite-image.model.d.ts +5 -0
  272. package/lib/models/medico-cv.model.d.ts +10 -0
  273. package/lib/models/medico.model.d.ts +68 -0
  274. package/lib/models/menu-de-unidade.model.d.ts +14 -0
  275. package/lib/models/menu-item.model.d.ts +67 -0
  276. package/lib/models/privacy-tools/privacy-tools.model.d.ts +8 -0
  277. package/lib/models/rdsl-cobertura.model.d.ts +71 -0
  278. package/lib/models/rdsl-convenio.model.d.ts +17 -0
  279. package/lib/models/rdsl-especialidade.model.d.ts +33 -0
  280. package/lib/models/rdsl-planos.model.d.ts +13 -0
  281. package/lib/models/rdsl-post-category.model.d.ts +8 -0
  282. package/lib/models/rdsl-unidade.model.d.ts +50 -0
  283. package/lib/models/section-navigation.model.d.ts +9 -0
  284. package/lib/models/seo/seo-data.model.d.ts +11 -0
  285. package/lib/models/seo/seo-unidade.model.d.ts +6 -0
  286. package/lib/models/social-meta-properties.model.d.ts +9 -0
  287. package/lib/models/wordpress/WpResponse.model.d.ts +31 -0
  288. package/lib/models/wordpress/category/wpCategory.model.d.ts +14 -0
  289. package/lib/models/wordpress/general/content.model.d.ts +4 -0
  290. package/lib/models/wordpress/general/excerpt.model.d.ts +4 -0
  291. package/lib/models/wordpress/general/featuredMedia.model.d.ts +26 -0
  292. package/lib/models/wordpress/general/guid.model.d.ts +3 -0
  293. package/lib/models/wordpress/general/index.d.ts +10 -0
  294. package/lib/models/wordpress/general/links.model.d.ts +47 -0
  295. package/lib/models/wordpress/general/meta.model.d.ts +3 -0
  296. package/lib/models/wordpress/general/title.model.d.ts +3 -0
  297. package/lib/models/wordpress/general/yoastData.model.d.ts +4 -0
  298. package/lib/models/wordpress/general/yoastHeadJson.model.d.ts +56 -0
  299. package/lib/models/wordpress/general/yoastMeta.model.d.ts +5 -0
  300. package/lib/models/wordpress/page/page.model.d.ts +10 -0
  301. package/lib/models/wordpress/post/post.model.d.ts +33 -0
  302. package/lib/models/wordpress/unidade/wp-unidade-onco.model.d.ts +56 -0
  303. package/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.d.ts +166 -0
  304. package/lib/models/wordpress/unidade/wp-unidade-site.model.d.ts +45 -0
  305. package/lib/pipes/index.d.ts +1 -0
  306. package/lib/pipes/phone/phone.pipe.d.ts +7 -0
  307. package/{services/algolia/index.d.ts → lib/services/algolia/algolia.service.d.ts} +4 -6
  308. package/{services/algolia-search-api/index.d.ts → lib/services/algolia-search-api/algolia-search-api.service.d.ts} +7 -6
  309. package/lib/services/geoloc/geoloc.service.d.ts +49 -0
  310. package/lib/services/http-client/http-client.service.d.ts +19 -0
  311. package/lib/services/index.d.ts +18 -0
  312. package/lib/services/log/log.service.d.ts +16 -0
  313. package/lib/services/mapbox/mapbox.service.d.ts +55 -0
  314. package/lib/services/modal/modal.service.d.ts +31 -0
  315. package/lib/services/modal-drawer/modal-drawer.service.d.ts +37 -0
  316. package/{services/ngu-carousel/index.d.ts → lib/services/ngu-carousel/ngu-carousel.service.d.ts} +3 -6
  317. package/lib/services/phone/phone.service.d.ts +11 -0
  318. package/lib/services/privacy-tools/privacy-tools.service.d.ts +20 -0
  319. package/lib/services/seo/seo.service.d.ts +142 -0
  320. package/lib/services/server-response/server-response.service.d.ts +39 -0
  321. package/lib/services/site-back-end/site-back-end.service.d.ts +87 -0
  322. package/{services/ssr-loading/index.d.ts → lib/services/ssr-loading/ssr-loading.service.d.ts} +4 -5
  323. package/lib/services/transfer-state/transfer-state.service.d.ts +12 -0
  324. package/{services/youtube/index.d.ts → lib/services/youtube/youtube.service.d.ts} +3 -5
  325. package/lib/tokens/LibConfig.d.ts +38 -0
  326. package/lib/tokens/express.tokens.d.ts +4 -0
  327. package/package.json +13 -283
  328. package/public-api.d.ts +10 -0
  329. package/components/algolia-dropdown/index.d.ts +0 -38
  330. package/components/algolia-search/index.d.ts +0 -292
  331. package/components/banner/index.d.ts +0 -20
  332. package/components/breadcrumbs/index.d.ts +0 -35
  333. package/components/cards/index.d.ts +0 -96
  334. package/components/carousels/index.d.ts +0 -28
  335. package/components/cta-wrapper/index.d.ts +0 -31
  336. package/components/error/index.d.ts +0 -46
  337. package/components/filter-letter-and-terms/index.d.ts +0 -36
  338. package/components/filters/filter-generic/index.d.ts +0 -68
  339. package/components/filters/filter-planos-convenios/index.d.ts +0 -41
  340. package/components/footer/index.d.ts +0 -38
  341. package/components/header/components/action/index.d.ts +0 -17
  342. package/components/header/components/auxiliar/index.d.ts +0 -29
  343. package/components/header/components/main/index.d.ts +0 -70
  344. package/components/header/components/side/index.d.ts +0 -33
  345. package/components/header/index.d.ts +0 -60
  346. package/components/header/services/index.d.ts +0 -14
  347. package/components/image/index.d.ts +0 -23
  348. package/components/modal/index.d.ts +0 -29
  349. package/components/modal-drawer/index.d.ts +0 -49
  350. package/components/page-header/index.d.ts +0 -20
  351. package/components/page-template-sidebar/index.d.ts +0 -20
  352. package/components/pagination/index.d.ts +0 -30
  353. package/components/search/index.d.ts +0 -45
  354. package/components/section-navigation/index.d.ts +0 -41
  355. package/components/side-ctas/index.d.ts +0 -70
  356. package/components/whatsapp/index.d.ts +0 -27
  357. package/core/index.d.ts +0 -1984
  358. package/cura/accordion/index.d.ts +0 -120
  359. package/cura/api/index.d.ts +0 -359
  360. package/cura/badges/cura-badge-counter/index.d.ts +0 -38
  361. package/cura/badges/cura-badge-distance/index.d.ts +0 -21
  362. package/cura/badges/cura-badge-dot/index.d.ts +0 -29
  363. package/cura/badges/cura-badge-pill/index.d.ts +0 -47
  364. package/cura/badges/index.d.ts +0 -5
  365. package/cura/buttons/cura-button/index.d.ts +0 -85
  366. package/cura/buttons/cura-button-outline/index.d.ts +0 -85
  367. package/cura/buttons/cura-button-select/index.d.ts +0 -34
  368. package/cura/buttons/cura-button-transparent/index.d.ts +0 -82
  369. package/cura/buttons/index.d.ts +0 -15
  370. package/cura/cards/cura-card/index.d.ts +0 -54
  371. package/cura/feedback/cura-alert/index.d.ts +0 -55
  372. package/cura/feedback/cura-modal/index.d.ts +0 -97
  373. package/cura/forms/cura-checkbox/index.d.ts +0 -152
  374. package/cura/forms/cura-input-text/index.d.ts +0 -234
  375. package/cura/forms/cura-label/index.d.ts +0 -51
  376. package/cura/forms/cura-radio/index.d.ts +0 -143
  377. package/cura/forms/cura-select/index.d.ts +0 -151
  378. package/cura/forms/cura-select-option/index.d.ts +0 -49
  379. package/cura/forms/cura-switch/index.d.ts +0 -113
  380. package/cura/forms/index.d.ts +0 -20
  381. package/cura/icons/cura-icon/index.d.ts +0 -46
  382. package/cura/loaders/cura-loader-bar/index.d.ts +0 -22
  383. package/cura/loaders/cura-loader-circle/index.d.ts +0 -24
  384. package/cura/texts/cura-display/index.d.ts +0 -54
  385. package/cura/texts/cura-heading/index.d.ts +0 -65
  386. package/cura/texts/cura-paragraph/index.d.ts +0 -54
  387. package/cura/texts/index.d.ts +0 -7
  388. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +0 -108
  389. package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs.map +0 -1
  390. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +0 -583
  391. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +0 -1
  392. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +0 -44
  393. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +0 -1
  394. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +0 -119
  395. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +0 -1
  396. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +0 -152
  397. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +0 -1
  398. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +0 -75
  399. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +0 -1
  400. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +0 -74
  401. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +0 -1
  402. package/fesm2022/rededor-site-front-end-lib-components-error.mjs +0 -173
  403. package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +0 -1
  404. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +0 -91
  405. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +0 -1
  406. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +0 -243
  407. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +0 -1
  408. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +0 -139
  409. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +0 -1
  410. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +0 -150
  411. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +0 -1
  412. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +0 -31
  413. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +0 -1
  414. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +0 -59
  415. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +0 -1
  416. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +0 -164
  417. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +0 -1
  418. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +0 -68
  419. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +0 -1
  420. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs +0 -50
  421. package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs.map +0 -1
  422. package/fesm2022/rededor-site-front-end-lib-components-header.mjs +0 -259
  423. package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +0 -1
  424. package/fesm2022/rededor-site-front-end-lib-components-image.mjs +0 -48
  425. package/fesm2022/rededor-site-front-end-lib-components-image.mjs.map +0 -1
  426. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +0 -30
  427. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +0 -1
  428. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +0 -162
  429. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +0 -1
  430. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +0 -82
  431. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +0 -1
  432. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +0 -24
  433. package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs.map +0 -1
  434. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +0 -41
  435. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +0 -1
  436. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +0 -30
  437. package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs.map +0 -1
  438. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +0 -55
  439. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +0 -1
  440. package/fesm2022/rededor-site-front-end-lib-components-search.mjs +0 -119
  441. package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +0 -1
  442. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +0 -134
  443. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +0 -1
  444. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +0 -118
  445. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +0 -1
  446. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +0 -49
  447. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +0 -1
  448. package/fesm2022/rededor-site-front-end-lib-core.mjs +0 -1600
  449. package/fesm2022/rededor-site-front-end-lib-core.mjs.map +0 -1
  450. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +0 -252
  451. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +0 -1
  452. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +0 -541
  453. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +0 -1
  454. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +0 -90
  455. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +0 -1
  456. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +0 -55
  457. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +0 -1
  458. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +0 -66
  459. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +0 -1
  460. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +0 -96
  461. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +0 -1
  462. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs +0 -4
  463. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs.map +0 -1
  464. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +0 -165
  465. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +0 -1
  466. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +0 -130
  467. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +0 -1
  468. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +0 -156
  469. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +0 -1
  470. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +0 -165
  471. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +0 -1
  472. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs +0 -13
  473. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +0 -1
  474. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +0 -96
  475. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +0 -1
  476. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +0 -90
  477. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +0 -1
  478. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +0 -105
  479. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +0 -1
  480. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +0 -253
  481. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +0 -1
  482. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +0 -547
  483. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +0 -1
  484. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +0 -88
  485. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +0 -1
  486. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +0 -237
  487. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +0 -1
  488. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +0 -82
  489. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +0 -1
  490. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +0 -377
  491. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +0 -1
  492. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +0 -182
  493. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +0 -1
  494. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs +0 -21
  495. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +0 -1
  496. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +0 -88
  497. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +0 -1
  498. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +0 -44
  499. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +0 -1
  500. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +0 -49
  501. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +0 -1
  502. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +0 -84
  503. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +0 -1
  504. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +0 -104
  505. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +0 -1
  506. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +0 -89
  507. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +0 -1
  508. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs +0 -4
  509. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs.map +0 -1
  510. package/fesm2022/rededor-site-front-end-lib-enums.mjs +0 -187
  511. package/fesm2022/rededor-site-front-end-lib-enums.mjs.map +0 -1
  512. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs +0 -74
  513. package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs.map +0 -1
  514. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs +0 -41
  515. package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs.map +0 -1
  516. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs +0 -88
  517. package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs.map +0 -1
  518. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs +0 -52
  519. package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs.map +0 -1
  520. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs +0 -40
  521. package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs.map +0 -1
  522. package/fesm2022/rededor-site-front-end-lib-shared.mjs +0 -110
  523. package/fesm2022/rededor-site-front-end-lib-shared.mjs.map +0 -1
  524. package/shared/index.d.ts +0 -40
@@ -0,0 +1,150 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
+ import { Estados } from '../../../enums';
5
+ import { CuraHeadingComponent } from '@rededor/cura-angular/texts/cura-heading';
6
+ import { CuraInputTextComponent } from '@rededor/cura-angular/forms/cura-input-text';
7
+ import { CuraSelectComponent } from '@rededor/cura-angular/forms/cura-select';
8
+ import { CuraSelectOptionComponent } from '@rededor/cura-angular/forms/cura-select-option';
9
+ import { CuraIconComponent } from '@rededor/cura-angular/icons/cura-icon';
10
+ import { CuraParagraphComponent } from '@rededor/cura-angular/texts/cura-paragraph';
11
+ import { CuraCheckboxComponent } from '@rededor/cura-angular/forms/cura-checkbox';
12
+ import { CuraButtonTransparentComponent } from '@rededor/cura-angular/buttons/cura-button-transparent';
13
+ import { CuraButtonComponent } from '@rededor/cura-angular/buttons/cura-button';
14
+ import { CuraLoaderCircleComponent } from '@rededor/cura-angular/loaders/cura-loader-circle';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@rededor/cura-angular/api";
17
+ import * as i2 from "@angular/common";
18
+ export class FilterPlanosConveniosComponent {
19
+ constructor(curaService) {
20
+ this.curaService = curaService;
21
+ this.filterChange = new EventEmitter();
22
+ this.closeModal = new EventEmitter();
23
+ this.withContainerStyle = false;
24
+ this.isLoading = false;
25
+ this.emitOnChange = false;
26
+ this.initialEstado = null;
27
+ this.estados = Object.entries(Estados).map(([key, value]) => ({
28
+ label: value,
29
+ value: key,
30
+ }));
31
+ this.coberturas = [
32
+ { label: 'Consultas', value: 'FLAG_ACEITA_AMBULATORIO', checked: false },
33
+ { label: 'Emergência', value: 'FLAG_ACEITA_PS', checked: false },
34
+ { label: 'Exames', value: 'FLAG_ACEITA_EXAME', checked: false },
35
+ { label: 'Internação', value: 'FLAG_ACEITA_INTERNACAO', checked: false },
36
+ ];
37
+ this.unidadeControl = new FormControl('');
38
+ this.estadoControl = new FormControl('');
39
+ this.coberturaControl = new FormControl(this.coberturas || []);
40
+ this.styleBinding = {
41
+ '--neutral-darker': this.curaService.theme.colors.getColor('neutral-darker'),
42
+ '--neutral-light': this.curaService.theme.colors.getColor('neutral-light'),
43
+ '--neutral-lighter': this.curaService.theme.colors.getColor('neutral-lighter'),
44
+ '--neutral-purewhite': this.curaService.theme.colors.getColor('neutral-purewhite'),
45
+ };
46
+ }
47
+ ngAfterViewInit() {
48
+ if (this.initialEstado && Array.isArray(this.estados) && this.estados.find((estado) => estado.value === this.initialEstado)) {
49
+ setTimeout(() => {
50
+ this.estadoControl.setValue(this.initialEstado);
51
+ this.filter();
52
+ }, 50);
53
+ }
54
+ }
55
+ inputTextChange(event) {
56
+ this.unidadeControl.setValue(event.value);
57
+ if (this.emitOnChange) {
58
+ this.filterChange.emit({
59
+ unidade: event.value,
60
+ estado: this.estadoControl.value,
61
+ cobertura: this.coberturaControl.value || [],
62
+ });
63
+ }
64
+ }
65
+ selectChange(event) {
66
+ this.estadoControl.setValue(event.value);
67
+ if (this.emitOnChange) {
68
+ this.filterChange.emit({
69
+ unidade: this.unidadeControl.value,
70
+ estado: event.value,
71
+ cobertura: this.coberturaControl.value || [],
72
+ });
73
+ }
74
+ }
75
+ checkboxChange(event) {
76
+ if (!this.coberturas)
77
+ return;
78
+ const currOption = this.coberturas.find((option) => option.value == event.value);
79
+ if (currOption) {
80
+ currOption.checked = event.checked;
81
+ }
82
+ this.coberturaControl.setValue(this.coberturas);
83
+ if (this.emitOnChange) {
84
+ this.filterChange.emit({
85
+ unidade: this.unidadeControl.value,
86
+ estado: this.estadoControl.value,
87
+ cobertura: this.coberturaControl.value || [],
88
+ });
89
+ }
90
+ }
91
+ filter() {
92
+ this.filterChange.emit({
93
+ unidade: this.unidadeControl.value,
94
+ estado: this.estadoControl.value,
95
+ cobertura: this.coberturaControl.value || [],
96
+ });
97
+ }
98
+ reset() {
99
+ const hasCoverage = this.coberturaControl.value.some((cob) => cob.checked);
100
+ const hasFilter = Boolean(this.unidadeControl.value) || Boolean(this.estadoControl.value) || Boolean(hasCoverage);
101
+ this.closeModal.emit(!hasFilter);
102
+ this.unidadeControl.reset('');
103
+ this.estadoControl.reset('');
104
+ this.coberturas.forEach((cobertura) => (cobertura.checked = false));
105
+ this.coberturaControl.reset(this.coberturas);
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPlanosConveniosComponent, deps: [{ token: i1.CuraApiService }], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterPlanosConveniosComponent, isStandalone: true, selector: "rdsite-filter-planos-convenios", inputs: { withContainerStyle: "withContainerStyle", isLoading: "isLoading", emitOnChange: "emitOnChange", initialEstado: "initialEstado", estados: "estados", coberturas: "coberturas", unidadeControl: "unidadeControl", estadoControl: "estadoControl" }, outputs: { filterChange: "filterChange", closeModal: "closeModal" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\r\n @if (!isLoading) {\r\n <cura-heading size=\"small\" [level]=\"4\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\"> Refine sua busca </cura-heading>\r\n\r\n <div class=\"filter-planos-convenios-unidade\">\r\n <cura-input-text\r\n placeholder=\"Nome da unidade\"\r\n name=\"unidade-input\"\r\n iconName=\"search\"\r\n autocomplete=\"off\"\r\n [value]=\"unidadeControl.value\"\r\n (valueChange)=\"inputTextChange($event)\"\r\n ></cura-input-text>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-estado\">\r\n @if (estados) {\r\n <cura-select\r\n label=\"Selecione o estado\"\r\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\r\n mode=\"default\"\r\n size=\"medium\"\r\n status=\"default\"\r\n [value]=\"estadoControl.value\"\r\n (selected)=\"selectChange($event)\"\r\n >\r\n <cura-select-option [value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\r\n\r\n @for (estado of estados || []; track estado?.value) {\r\n <cura-select-option [value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-cobertura\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" [level]=\"5\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\">\r\n Filtre pela cobertura do seu plano\r\n </cura-heading>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-content\">\r\n <cura-heading size=\"xsmall\" [level]=\"5\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\"> Tipos de cobertura </cura-heading>\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" marginBlock=\"0\">\r\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\r\n </cura-paragraph>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-checkboxes\">\r\n @for (option of coberturas || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n iconColor=\"light\"\r\n [name]=\"option?.label || ''\"\r\n [label]=\"option?.label || ''\"\r\n [value]=\"option?.value || ''\"\r\n [checked]=\"!!option?.checked\"\r\n (onchange)=\"checkboxChange($event)\"\r\n >\r\n </cura-checkbox>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-buttons\">\r\n <cura-button-transparent size=\"small\" color=\"primary\" fontColor=\"dark\" textAlign=\"center\" (click)=\"reset()\">\r\n <span> Limpar todos os filtros </span>\r\n </cura-button-transparent>\r\n\r\n <cura-button size=\"medium\" color=\"primary\" fontColor=\"light\" background=\"light\" textAlign=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\r\n </div>\r\n } @else {\r\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\r\n }\r\n</div>\r\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CuraHeadingComponent, selector: "cura-heading", inputs: ["level", "size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraInputTextComponent, selector: "cura-input-text", inputs: ["mode", "status", "size", "type", "inputMode", "label", "name", "placeholder", "value", "iconName", "disabled", "required", "maskPreset", "enableSelectionMode", "maskRegex", "maskAdvanced", "maxlength", "readOnly", "isLoading", "clearIcon", "hideErrorIcon", "autocomplete"], outputs: ["valueChange", "inputClear"] }, { kind: "component", type: CuraSelectComponent, selector: "cura-select", inputs: ["name", "label", "placeholder", "value", "mode", "size", "iconName", "status", "disabled", "required", "searchBehavior", "caseSensitive", "maxHeight"], outputs: ["valueChange", "selected", "searchTermInput"] }, { kind: "component", type: CuraSelectOptionComponent, selector: "cura-select-option", inputs: ["value", "selected", "active", "size", "visible"], outputs: ["selectedChange", "activeChange", "sizeChange", "visibleChange"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraParagraphComponent, selector: "cura-paragraph", inputs: ["size", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraCheckboxComponent, selector: "cura-checkbox", inputs: ["disableCheckIcon", "checked", "indeterminate", "status", "disabled", "required", "label", "ontabindex", "position", "value", "name", "size", "background", "iconColor", "color", "overflowLabel", "overflowHelper"], outputs: ["checkedChange", "indeterminateChange", "valueChange", "onchange"] }, { kind: "component", type: CuraButtonTransparentComponent, selector: "cura-button-transparent", inputs: ["type", "size", "disabled", "isLoading", "iconName", "iconset", "iconPosition", "iconOnly", "href", "target", "color", "fontColor", "textAlign", "justify", "ariaLabel"], outputs: ["buttonClick"] }, { kind: "component", type: CuraButtonComponent, selector: "cura-button", inputs: ["type", "size", "disabled", "isLoading", "iconName", "iconset", "iconPosition", "iconOnly", "href", "target", "color", "background", "fontColor", "textAlign", "justify", "ariaLabel"], outputs: ["buttonClick"] }, { kind: "component", type: CuraLoaderCircleComponent, selector: "cura-loader-circle", inputs: ["size", "color"] }] }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterPlanosConveniosComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ selector: 'rdsite-filter-planos-convenios', standalone: true, imports: [
113
+ CommonModule,
114
+ ReactiveFormsModule,
115
+ CuraHeadingComponent,
116
+ CuraInputTextComponent,
117
+ CuraSelectComponent,
118
+ CuraSelectOptionComponent,
119
+ CuraIconComponent,
120
+ CuraParagraphComponent,
121
+ CuraCheckboxComponent,
122
+ CuraButtonTransparentComponent,
123
+ CuraButtonComponent,
124
+ CuraLoaderCircleComponent,
125
+ ], template: "<div class=\"filter-planos-convenios\" [ngClass]=\"{ 'container-style': withContainerStyle }\">\r\n @if (!isLoading) {\r\n <cura-heading size=\"small\" [level]=\"4\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\"> Refine sua busca </cura-heading>\r\n\r\n <div class=\"filter-planos-convenios-unidade\">\r\n <cura-input-text\r\n placeholder=\"Nome da unidade\"\r\n name=\"unidade-input\"\r\n iconName=\"search\"\r\n autocomplete=\"off\"\r\n [value]=\"unidadeControl.value\"\r\n (valueChange)=\"inputTextChange($event)\"\r\n ></cura-input-text>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-estado\">\r\n @if (estados) {\r\n <cura-select\r\n label=\"Selecione o estado\"\r\n placeholder=\"Fa\u00E7a a sua Sele\u00E7\u00E3o\"\r\n mode=\"default\"\r\n size=\"medium\"\r\n status=\"default\"\r\n [value]=\"estadoControl.value\"\r\n (selected)=\"selectChange($event)\"\r\n >\r\n <cura-select-option [value]=\"''\">Fa\u00E7a a sua Sele\u00E7\u00E3o</cura-select-option>\r\n\r\n @for (estado of estados || []; track estado?.value) {\r\n <cura-select-option [value]=\"estado?.value\">{{ estado?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-cobertura\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" [level]=\"5\" weight=\"bold\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\">\r\n Filtre pela cobertura do seu plano\r\n </cura-heading>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-content\">\r\n <cura-heading size=\"xsmall\" [level]=\"5\" color=\"neutral-black\" marginBlock=\"0\" lineHeight=\"16px\"> Tipos de cobertura </cura-heading>\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" marginBlock=\"0\">\r\n Voc\u00EA pode selecionar uma ou mais portas de entrada, de acordo com a cobertura do seu plano.\r\n </cura-paragraph>\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-checkboxes\">\r\n @for (option of coberturas || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n iconColor=\"light\"\r\n [name]=\"option?.label || ''\"\r\n [label]=\"option?.label || ''\"\r\n [value]=\"option?.value || ''\"\r\n [checked]=\"!!option?.checked\"\r\n (onchange)=\"checkboxChange($event)\"\r\n >\r\n </cura-checkbox>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-planos-convenios-buttons\">\r\n <cura-button-transparent size=\"small\" color=\"primary\" fontColor=\"dark\" textAlign=\"center\" (click)=\"reset()\">\r\n <span> Limpar todos os filtros </span>\r\n </cura-button-transparent>\r\n\r\n <cura-button size=\"medium\" color=\"primary\" fontColor=\"light\" background=\"light\" textAlign=\"center\" (click)=\"filter()\"> Filtrar </cura-button>\r\n </div>\r\n } @else {\r\n <cura-loader-circle color=\"primary\" size=\"small\"> </cura-loader-circle>\r\n }\r\n</div>\r\n", styles: [".filter-planos-convenios{display:flex;flex-direction:column;gap:23px}.filter-planos-convenios.container-style{width:100%;padding:20px;border-radius:4px;border:1px solid var(--neutral-lighter, #e2e2e2);background-color:var(--neutral-purewhite, #ffffff)}.filter-planos-convenios-cobertura{color:var(--neutral-darker);display:flex;align-items:center;gap:14px}.filter-planos-convenios-content{display:flex;flex-direction:column;gap:10px}.filter-planos-convenios-content:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:13px}.filter-planos-convenios-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-planos-convenios-checkboxes:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-planos-convenios-buttons{display:flex;gap:10px;justify-content:space-between}.filter-planos-convenios-buttons cura-button-transparent{display:flex;flex:1 0 0;max-width:170px}.filter-planos-convenios-buttons cura-button-transparent span{line-height:13px;letter-spacing:.72px;text-align:left}.filter-planos-convenios-buttons cura-button{display:flex;flex:0 0 100px}cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}\n"] }]
126
+ }], ctorParameters: () => [{ type: i1.CuraApiService }], propDecorators: { filterChange: [{
127
+ type: Output
128
+ }], closeModal: [{
129
+ type: Output
130
+ }], withContainerStyle: [{
131
+ type: Input
132
+ }], isLoading: [{
133
+ type: Input
134
+ }], emitOnChange: [{
135
+ type: Input
136
+ }], initialEstado: [{
137
+ type: Input
138
+ }], estados: [{
139
+ type: Input
140
+ }], coberturas: [{
141
+ type: Input
142
+ }], unidadeControl: [{
143
+ type: Input
144
+ }], estadoControl: [{
145
+ type: Input
146
+ }], styleBinding: [{
147
+ type: HostBinding,
148
+ args: ['style']
149
+ }] } });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1wbGFub3MtY29udmVuaW9zL2ZpbHRlci1wbGFub3MtY29udmVuaW9zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFC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O3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVzdGFkb3MgfSBmcm9tICcuLi8uLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IEZpbHRlclBsYW5vc0NvbnZlbmlvcywgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlLCBGaWx0ZXJQbGFub3NDb252ZW5pb3NDb2JlcnR1cmEgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5tb2RlbCc7XHJcbmltcG9ydCB7IEN1cmFBcGlTZXJ2aWNlIH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2FwaSc7XHJcbmltcG9ydCB7IEN1cmFIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL3RleHRzL2N1cmEtaGVhZGluZyc7XHJcbmltcG9ydCB7IEN1cmFJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvZm9ybXMvY3VyYS1pbnB1dC10ZXh0JztcclxuaW1wb3J0IHsgQ3VyYVNlbGVjdENvbXBvbmVudCB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci9mb3Jtcy9jdXJhLXNlbGVjdCc7XHJcbmltcG9ydCB7IEN1cmFTZWxlY3RPcHRpb25Db21wb25lbnQgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvZm9ybXMvY3VyYS1zZWxlY3Qtb3B0aW9uJztcclxuaW1wb3J0IHsgQ3VyYUljb25Db21wb25lbnQgfSBmcm9tICdAcmVkZWRvci9jdXJhLWFuZ3VsYXIvaWNvbnMvY3VyYS1pY29uJztcclxuaW1wb3J0IHsgQ3VyYVBhcmFncmFwaENvbXBvbmVudCB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci90ZXh0cy9jdXJhLXBhcmFncmFwaCc7XHJcbmltcG9ydCB7IEN1cmFDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci9mb3Jtcy9jdXJhLWNoZWNrYm94JztcclxuaW1wb3J0IHsgQ3VyYUJ1dHRvblRyYW5zcGFyZW50Q29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2J1dHRvbnMvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQnO1xyXG5pbXBvcnQgeyBDdXJhQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2J1dHRvbnMvY3VyYS1idXR0b24nO1xyXG5pbXBvcnQgeyBDdXJhTG9hZGVyQ2lyY2xlQ29tcG9uZW50IH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2xvYWRlcnMvY3VyYS1sb2FkZXItY2lyY2xlJztcclxuXHJcbmludGVyZmFjZSBDdXJhQ2hlY2tib3hPcHRpb248VCA9IGFueT4ge1xyXG4gIHZhbHVlOiBUO1xyXG4gIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgaW5kZXRlcm1pbmF0ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncmRzaXRlLWZpbHRlci1wbGFub3MtY29udmVuaW9zJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDdXJhSGVhZGluZ0NvbXBvbmVudCxcclxuICAgIEN1cmFJbnB1dFRleHRDb21wb25lbnQsXHJcbiAgICBDdXJhU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgQ3VyYVNlbGVjdE9wdGlvbkNvbXBvbmVudCxcclxuICAgIEN1cmFJY29uQ29tcG9uZW50LFxyXG4gICAgQ3VyYVBhcmFncmFwaENvbXBvbmVudCxcclxuICAgIEN1cmFDaGVja2JveENvbXBvbmVudCxcclxuICAgIEN1cmFCdXR0b25UcmFuc3BhcmVudENvbXBvbmVudCxcclxuICAgIEN1cmFCdXR0b25Db21wb25lbnQsXHJcbiAgICBDdXJhTG9hZGVyQ2lyY2xlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1wbGFub3MtY29udmVuaW9zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASW5wdXQoKSB3aXRoQ29udGFpbmVyU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbWl0T25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgaW5pdGlhbEVzdGFkbzogRXN0YWRvcyB8IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBlc3RhZG9zOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NbXSA9IE9iamVjdC5lbnRyaWVzKEVzdGFkb3MpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiAoe1xyXG4gICAgbGFiZWw6IHZhbHVlLFxyXG4gICAgdmFsdWU6IGtleSxcclxuICB9KSk7XHJcblxyXG4gIEBJbnB1dCgpIGNvYmVydHVyYXM6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NvYmVydHVyYVtdID0gW1xyXG4gICAgeyBsYWJlbDogJ0NvbnN1bHRhcycsIHZhbHVlOiAnRkxBR19BQ0VJVEFfQU1CVUxBVE9SSU8nLCBjaGVja2VkOiBmYWxzZSB9LFxyXG4gICAgeyBsYWJlbDogJ0VtZXJnw6puY2lhJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9QUycsIGNoZWNrZWQ6IGZhbHNlIH0sXHJcbiAgICB7IGxhYmVsOiAnRXhhbWVzJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9FWEFNRScsIGNoZWNrZWQ6IGZhbHNlIH0sXHJcbiAgICB7IGxhYmVsOiAnSW50ZXJuYcOnw6NvJywgdmFsdWU6ICdGTEFHX0FDRUlUQV9JTlRFUk5BQ0FPJywgY2hlY2tlZDogZmFsc2UgfSxcclxuICBdO1xyXG5cclxuICBASW5wdXQoKSB1bmlkYWRlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPignJyk7XHJcbiAgQElucHV0KCkgZXN0YWRvQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxFc3RhZG9zIHwgc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD4oJycpO1xyXG4gIGNvYmVydHVyYUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8RmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhW10+KHRoaXMuY29iZXJ0dXJhcyB8fCBbXSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBzdHlsZUJpbmRpbmcgPSB7XHJcbiAgICAnLS1uZXV0cmFsLWRhcmtlcic6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLWRhcmtlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodCc6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLWxpZ2h0JyksXHJcbiAgICAnLS1uZXV0cmFsLWxpZ2h0ZXInOiB0aGlzLmN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcignbmV1dHJhbC1saWdodGVyJyksXHJcbiAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY3VyYVNlcnZpY2U6IEN1cmFBcGlTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pbml0aWFsRXN0YWRvICYmIEFycmF5LmlzQXJyYXkodGhpcy5lc3RhZG9zKSAmJiB0aGlzLmVzdGFkb3MuZmluZCgoZXN0YWRvKSA9PiBlc3RhZG8udmFsdWUgPT09IHRoaXMuaW5pdGlhbEVzdGFkbykpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lc3RhZG9Db250cm9sLnNldFZhbHVlKHRoaXMuaW5pdGlhbEVzdGFkbyk7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIoKTtcclxuICAgICAgfSwgNTApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRUZXh0Q2hhbmdlKGV2ZW50OiB7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfSkge1xyXG4gICAgdGhpcy51bmlkYWRlQ29udHJvbC5zZXRWYWx1ZShldmVudC52YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5lbWl0T25DaGFuZ2UpIHtcclxuICAgICAgdGhpcy5maWx0ZXJDaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgdW5pZGFkZTogZXZlbnQudmFsdWUsXHJcbiAgICAgICAgZXN0YWRvOiB0aGlzLmVzdGFkb0NvbnRyb2wudmFsdWUsXHJcbiAgICAgICAgY29iZXJ0dXJhOiB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUgfHwgW10sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2hhbmdlKGV2ZW50OiB7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfSkge1xyXG4gICAgdGhpcy5lc3RhZG9Db250cm9sLnNldFZhbHVlKGV2ZW50LnZhbHVlKTtcclxuICAgIGlmICh0aGlzLmVtaXRPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcclxuICAgICAgICB1bmlkYWRlOiB0aGlzLnVuaWRhZGVDb250cm9sLnZhbHVlLFxyXG4gICAgICAgIGVzdGFkbzogZXZlbnQudmFsdWUsXHJcbiAgICAgICAgY29iZXJ0dXJhOiB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUgfHwgW10sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tib3hDaGFuZ2UoZXZlbnQ6IEN1cmFDaGVja2JveE9wdGlvbjxzdHJpbmc+KSB7XHJcbiAgICBpZiAoIXRoaXMuY29iZXJ0dXJhcykgcmV0dXJuO1xyXG4gICAgY29uc3QgY3Vyck9wdGlvbjogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ29iZXJ0dXJhIHwgdW5kZWZpbmVkID0gdGhpcy5jb2JlcnR1cmFzLmZpbmQoXHJcbiAgICAgIChvcHRpb246IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NvYmVydHVyYSkgPT4gb3B0aW9uLnZhbHVlID09IGV2ZW50LnZhbHVlLFxyXG4gICAgKTtcclxuICAgIGlmIChjdXJyT3B0aW9uKSB7XHJcbiAgICAgIGN1cnJPcHRpb24uY2hlY2tlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvYmVydHVyYUNvbnRyb2wuc2V0VmFsdWUodGhpcy5jb2JlcnR1cmFzKTtcclxuICAgIGlmICh0aGlzLmVtaXRPbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcclxuICAgICAgICB1bmlkYWRlOiB0aGlzLnVuaWRhZGVDb250cm9sLnZhbHVlLFxyXG4gICAgICAgIGVzdGFkbzogdGhpcy5lc3RhZG9Db250cm9sLnZhbHVlLFxyXG4gICAgICAgIGNvYmVydHVyYTogdGhpcy5jb2JlcnR1cmFDb250cm9sLnZhbHVlIHx8IFtdLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoe1xyXG4gICAgICB1bmlkYWRlOiB0aGlzLnVuaWRhZGVDb250cm9sLnZhbHVlLFxyXG4gICAgICBlc3RhZG86IHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSxcclxuICAgICAgY29iZXJ0dXJhOiB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUgfHwgW10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgaGFzQ292ZXJhZ2UgPSB0aGlzLmNvYmVydHVyYUNvbnRyb2wudmFsdWUhLnNvbWUoKGNvYikgPT4gY29iLmNoZWNrZWQpO1xyXG4gICAgY29uc3QgaGFzRmlsdGVyID0gQm9vbGVhbih0aGlzLnVuaWRhZGVDb250cm9sLnZhbHVlKSB8fCBCb29sZWFuKHRoaXMuZXN0YWRvQ29udHJvbC52YWx1ZSkgfHwgQm9vbGVhbihoYXNDb3ZlcmFnZSk7XHJcbiAgICB0aGlzLmNsb3NlTW9kYWwuZW1pdCghaGFzRmlsdGVyKTtcclxuICAgIHRoaXMudW5pZGFkZUNvbnRyb2wucmVzZXQoJycpO1xyXG4gICAgdGhpcy5lc3RhZG9Db250cm9sLnJlc2V0KCcnKTtcclxuICAgIHRoaXMuY29iZXJ0dXJhcy5mb3JFYWNoKChjb2JlcnR1cmEpID0+IChjb2JlcnR1cmEuY2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICB0aGlzLmNvYmVydHVyYUNvbnRyb2wucmVzZXQodGhpcy5jb2JlcnR1cmFzKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zXCIgW25nQ2xhc3NdPVwieyAnY29udGFpbmVyLXN0eWxlJzogd2l0aENvbnRhaW5lclN0eWxlIH1cIj5cclxuICBAaWYgKCFpc0xvYWRpbmcpIHtcclxuICAgIDxjdXJhLWhlYWRpbmcgc2l6ZT1cInNtYWxsXCIgW2xldmVsXT1cIjRcIiB3ZWlnaHQ9XCJib2xkXCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luQmxvY2s9XCIwXCIgbGluZUhlaWdodD1cIjE2cHhcIj4gUmVmaW5lIHN1YSBidXNjYSA8L2N1cmEtaGVhZGluZz5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtdW5pZGFkZVwiPlxyXG4gICAgICA8Y3VyYS1pbnB1dC10ZXh0XHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJOb21lIGRhIHVuaWRhZGVcIlxyXG4gICAgICAgIG5hbWU9XCJ1bmlkYWRlLWlucHV0XCJcclxuICAgICAgICBpY29uTmFtZT1cInNlYXJjaFwiXHJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICBbdmFsdWVdPVwidW5pZGFkZUNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJpbnB1dFRleHRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L2N1cmEtaW5wdXQtdGV4dD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1lc3RhZG9cIj5cclxuICAgICAgQGlmIChlc3RhZG9zKSB7XHJcbiAgICAgICAgPGN1cmEtc2VsZWN0XHJcbiAgICAgICAgICBsYWJlbD1cIlNlbGVjaW9uZSBvIGVzdGFkb1wiXHJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkZhw6dhIGEgc3VhIFNlbGXDp8Ojb1wiXHJcbiAgICAgICAgICBtb2RlPVwiZGVmYXVsdFwiXHJcbiAgICAgICAgICBzaXplPVwibWVkaXVtXCJcclxuICAgICAgICAgIHN0YXR1cz1cImRlZmF1bHRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cImVzdGFkb0NvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCInJ1wiPkZhw6dhIGEgc3VhIFNlbGXDp8OjbzwvY3VyYS1zZWxlY3Qtb3B0aW9uPlxyXG5cclxuICAgICAgICAgIEBmb3IgKGVzdGFkbyBvZiBlc3RhZG9zIHx8IFtdOyB0cmFjayBlc3RhZG8/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW3ZhbHVlXT1cImVzdGFkbz8udmFsdWVcIj57eyBlc3RhZG8/LmxhYmVsIH19PC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9jdXJhLXNlbGVjdD5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1wbGFub3MtY29udmVuaW9zLWNvYmVydHVyYVwiPlxyXG4gICAgICA8Y3VyYS1pY29uIG5hbWU9XCJmaWx0ZXJcIiBzaXplPVwiMjBcIiBjb2xvcj1cImluZm8tZGFya1wiPjwvY3VyYS1pY29uPlxyXG4gICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJ4c21hbGxcIiBbbGV2ZWxdPVwiNVwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW5CbG9jaz1cIjBcIiBsaW5lSGVpZ2h0PVwiMTZweFwiPlxyXG4gICAgICAgIEZpbHRyZSBwZWxhIGNvYmVydHVyYSBkbyBzZXUgcGxhbm9cclxuICAgICAgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtY29udGVudFwiPlxyXG4gICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJ4c21hbGxcIiBbbGV2ZWxdPVwiNVwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbkJsb2NrPVwiMFwiIGxpbmVIZWlnaHQ9XCIxNnB4XCI+IFRpcG9zIGRlIGNvYmVydHVyYSA8L2N1cmEtaGVhZGluZz5cclxuICAgICAgPGN1cmEtcGFyYWdyYXBoIHNpemU9XCJ4c21hbGxcIiBjb2xvcj1cIm5ldXRyYWwtZGFya1wiIG1hcmdpbkJsb2NrPVwiMFwiPlxyXG4gICAgICAgIFZvY8OqIHBvZGUgc2VsZWNpb25hciB1bWEgb3UgbWFpcyBwb3J0YXMgZGUgZW50cmFkYSwgZGUgYWNvcmRvIGNvbSBhIGNvYmVydHVyYSBkbyBzZXUgcGxhbm8uXHJcbiAgICAgIDwvY3VyYS1wYXJhZ3JhcGg+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXBsYW5vcy1jb252ZW5pb3MtY2hlY2tib3hlc1wiPlxyXG4gICAgICBAZm9yIChvcHRpb24gb2YgY29iZXJ0dXJhcyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgIDxjdXJhLWNoZWNrYm94XHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgIGljb25Db2xvcj1cImxpZ2h0XCJcclxuICAgICAgICAgIFtuYW1lXT1cIm9wdGlvbj8ubGFiZWwgfHwgJydcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbj8ubGFiZWwgfHwgJydcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbj8udmFsdWUgfHwgJydcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiISFvcHRpb24/LmNoZWNrZWRcIlxyXG4gICAgICAgICAgKG9uY2hhbmdlKT1cImNoZWNrYm94Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2N1cmEtY2hlY2tib3g+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcGxhbm9zLWNvbnZlbmlvcy1idXR0b25zXCI+XHJcbiAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudCBzaXplPVwic21hbGxcIiBjb2xvcj1cInByaW1hcnlcIiBmb250Q29sb3I9XCJkYXJrXCIgdGV4dEFsaWduPVwiY2VudGVyXCIgKGNsaWNrKT1cInJlc2V0KClcIj5cclxuICAgICAgICA8c3Bhbj4gTGltcGFyIHRvZG9zIG9zIGZpbHRyb3MgPC9zcGFuPlxyXG4gICAgICA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxyXG5cclxuICAgICAgPGN1cmEtYnV0dG9uIHNpemU9XCJtZWRpdW1cIiBjb2xvcj1cInByaW1hcnlcIiBmb250Q29sb3I9XCJsaWdodFwiIGJhY2tncm91bmQ9XCJsaWdodFwiIHRleHRBbGlnbj1cImNlbnRlclwiIChjbGljayk9XCJmaWx0ZXIoKVwiPiBGaWx0cmFyIDwvY3VyYS1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxjdXJhLWxvYWRlci1jaXJjbGUgY29sb3I9XCJwcmltYXJ5XCIgc2l6ZT1cInNtYWxsXCI+IDwvY3VyYS1sb2FkZXItY2lyY2xlPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,125 @@
1
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, Inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { getFooterTheme } from './helpers/footerTheme.func';
4
+ import { RdsiteLinkDirective } from '../../directives';
5
+ import { LIB_CONFIG } from '../../tokens/LibConfig';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@rededor/cura-angular/api";
8
+ import * as i2 from "../../services";
9
+ import * as i3 from "@angular/common";
10
+ export class FooterComponent {
11
+ get project() {
12
+ return this._project;
13
+ }
14
+ set project(value) {
15
+ this._project = value;
16
+ this.updateFooterTheme();
17
+ }
18
+ get theme() {
19
+ return this._theme;
20
+ }
21
+ set theme(value) {
22
+ this._theme = value;
23
+ this.updateFooterTheme();
24
+ }
25
+ get logoWidth() {
26
+ return this._logoWidth;
27
+ }
28
+ set logoWidth(value) {
29
+ this._logoWidth = value;
30
+ this.updateLogoWidth();
31
+ }
32
+ constructor(curaService, privacyTools, elementRef, libConfig) {
33
+ this.curaService = curaService;
34
+ this.privacyTools = privacyTools;
35
+ this.elementRef = elementRef;
36
+ this.libConfig = libConfig;
37
+ this._project = 'site';
38
+ this._theme = 'default';
39
+ this.disclaimer = '';
40
+ this.linkPrivacyFooter = '';
41
+ this.footerPrivacyClick = new EventEmitter();
42
+ this.footerCookieClick = new EventEmitter();
43
+ this.currentYear = new Date().getFullYear();
44
+ this.logo = null;
45
+ this.partnerLogo = null;
46
+ this.phone = '';
47
+ this.dora = { number: '', link: '', imgUrl: '' };
48
+ this.socialMenu = [];
49
+ this._logoWidth = 72;
50
+ this.footerSocialMediaClick = new EventEmitter();
51
+ this.footerMenu = [];
52
+ this.footerMenuItemClick = new EventEmitter();
53
+ }
54
+ ngAfterViewInit() {
55
+ this.updateFooterTheme();
56
+ }
57
+ updateLogoWidth() {
58
+ this.elementRef.nativeElement.style.setProperty('--logo-width', `${this.logoWidth}px`);
59
+ }
60
+ updateFooterTheme() {
61
+ const footerTheme = getFooterTheme(this.project, this.theme, this.curaService);
62
+ Object.entries(footerTheme).forEach(([key, value]) => {
63
+ Object.entries(value).forEach(([prop, val]) => {
64
+ const cssVar = `--${key}-${prop}`;
65
+ this.elementRef.nativeElement.style.setProperty(cssVar, val);
66
+ });
67
+ });
68
+ }
69
+ footerSocialMediaClicked(event) {
70
+ this.footerSocialMediaClick.emit(event);
71
+ }
72
+ toggleSubMenu(event, menu) {
73
+ event.stopPropagation();
74
+ menu.active = !menu.active;
75
+ }
76
+ footerMenuItemClicked(event) {
77
+ this.footerMenuItemClick.emit(event);
78
+ }
79
+ footerPrivacyClicked(event) {
80
+ this.footerPrivacyClick.emit(event);
81
+ }
82
+ footerCookieClicked(event) {
83
+ this.footerCookieClick.emit(event);
84
+ }
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, deps: [{ token: i1.CuraApiService }, { token: i2.PrivacyToolsService }, { token: i0.ElementRef }, { token: LIB_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FooterComponent, isStandalone: true, selector: "footer[sl-ftr]", inputs: { project: "project", theme: "theme", disclaimer: "disclaimer", linkPrivacyFooter: "linkPrivacyFooter", logo: "logo", partnerLogo: "partnerLogo", phone: "phone", dora: "dora", socialMenu: "socialMenu", logoWidth: "logoWidth", footerMenu: "footerMenu" }, outputs: { footerPrivacyClick: "footerPrivacyClick", footerCookieClick: "footerCookieClick", footerSocialMediaClick: "footerSocialMediaClick", footerMenuItemClick: "footerMenuItemClick" }, ngImport: i0, template: "<div class=\"sl-ftr-content\">\r\n <div>\r\n <div class=\"sl-ftr-contact\">\r\n <div class=\"logos\">\r\n @if (logo) {\r\n <div class=\"logo\">\r\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (partnerLogo) {\r\n <div class=\"partner-logo\">\r\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n </div>\r\n <div class=\"phones\">\r\n @if (dora.number && dora.link) {\r\n <div class=\"dora\">\r\n <div\r\n class=\"img\"\r\n [style.background-image]=\"dora.imgUrl ? 'url(' + dora.imgUrl + ')' : 'url(' + libConfig.siteSufix + '/assets/imgs/bg_dora_whatsapp.webp)'\"\r\n ></div>\r\n <span class=\"label\">\r\n <p>Fale com a Dora</p>\r\n <a rdsitelink [href]=\"dora.link\">\r\n {{ dora.number }}\r\n </a>\r\n </span>\r\n </div>\r\n }\r\n @if (phone) {\r\n <div class=\"phone\" [class.before]=\"dora.number && dora.link\">\r\n <div class=\"svg\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\r\n </svg>\r\n </div>\r\n <span class=\"label\">\r\n <p>Central</p>\r\n <a rdsitelink href=\"tel:{{ phone }}\">\r\n {{ phone }}\r\n </a>\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <nav class=\"sl-ftr-medias\">\r\n <ul>\r\n @for (social of socialMenu; track social.title) {\r\n <li>\r\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n\r\n <div class=\"content-menu\">\r\n @if (footerMenu.length) {\r\n <div class=\"sl-ftr-menu\">\r\n <nav>\r\n <ul class=\"sl-ftr-menu-list\">\r\n @for (menu of footerMenu; track menu.title) {\r\n <li class=\"sl-ftr-menu-list-item\">\r\n @if (menu.title) {\r\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\r\n <a\r\n class=\"sl-ftr-menu-item-link\"\r\n [href]=\"menu.url\"\r\n rdsitelink\r\n [title]=\"menu.title\"\r\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\r\n >\r\n {{ menu.title }}\r\n </a>\r\n\r\n @if (menu.children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (menu.children?.length) {\r\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\r\n @for (submenu of menu.children; track submenu.title) {\r\n <li class=\"sl-ftr-menu-item-children-item\">\r\n <div class=\"sl-ftr-menu-item alt\">\r\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\r\n {{ submenu.title }}\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"sl-ftr-disc\">\r\n <div class=\"disc-content\">\r\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\r\n <ul class=\"disc-content-links\">\r\n <li>\r\n <a [href]=\"linkPrivacyFooter || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\r\n </li>\r\n <li>\r\n <a (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\"> Aviso de Cookies </a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 92px);height:50px;object-fit:contain}.sl-ftr-contact .logos .logo{display:contents}.sl-ftr-contact .logos .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .logos .partner-logo{display:contents}.sl-ftr-contact .phones{display:flex;width:100%;gap:12px}.sl-ftr-contact .phones .phone,.sl-ftr-contact .phones .dora{display:flex;gap:8px}.sl-ftr-contact .phones .phone .label p,.sl-ftr-contact .phones .dora .label p{color:#f6f6f6;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px;padding-bottom:0}.sl-ftr-contact .phones .phone .label a,.sl-ftr-contact .phones .dora .label a{color:#f6f6f6;font-size:14px;font-weight:700;line-height:19px;letter-spacing:.56px;text-decoration:none}.sl-ftr-contact .phones .dora .img{display:block;width:32px;height:32px;background:#d3d3d3 50%/cover no-repeat;border-radius:50%;border:2px solid #448ecd}.sl-ftr-contact .phones .phone .svg{display:flex;justify-content:center;align-items:center;background:#003da5;border-radius:50%;width:32px;height:32px}.sl-ftr-contact .phones .phone.before:before{content:\"\";width:2px;background-color:#f6f6f6;margin-right:6px}@media only screen and (max-width: 1024px){.sl-ftr-contact .phones{flex-direction:column;gap:20px}.sl-ftr-contact .phones .phone.before:before{display:none}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], encapsulation: i0.ViewEncapsulation.None }); }
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FooterComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'footer[sl-ftr]', standalone: true, imports: [CommonModule, RdsiteLinkDirective], encapsulation: ViewEncapsulation.None, template: "<div class=\"sl-ftr-content\">\r\n <div>\r\n <div class=\"sl-ftr-contact\">\r\n <div class=\"logos\">\r\n @if (logo) {\r\n <div class=\"logo\">\r\n <img [src]=\"logo?.url\" [alt]=\"logo?.alt\" [title]=\"logo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n @if (partnerLogo) {\r\n <div class=\"partner-logo\">\r\n <img [src]=\"partnerLogo?.url\" [alt]=\"partnerLogo?.alt\" [title]=\"partnerLogo?.title\" loading=\"lazy\" fetchpriority=\"low\" />\r\n </div>\r\n }\r\n </div>\r\n <div class=\"phones\">\r\n @if (dora.number && dora.link) {\r\n <div class=\"dora\">\r\n <div\r\n class=\"img\"\r\n [style.background-image]=\"dora.imgUrl ? 'url(' + dora.imgUrl + ')' : 'url(' + libConfig.siteSufix + '/assets/imgs/bg_dora_whatsapp.webp)'\"\r\n ></div>\r\n <span class=\"label\">\r\n <p>Fale com a Dora</p>\r\n <a rdsitelink [href]=\"dora.link\">\r\n {{ dora.number }}\r\n </a>\r\n </span>\r\n </div>\r\n }\r\n @if (phone) {\r\n <div class=\"phone\" [class.before]=\"dora.number && dora.link\">\r\n <div class=\"svg\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#phone'\"></use>\r\n </svg>\r\n </div>\r\n <span class=\"label\">\r\n <p>Central</p>\r\n <a rdsitelink href=\"tel:{{ phone }}\">\r\n {{ phone }}\r\n </a>\r\n </span>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <nav class=\"sl-ftr-medias\">\r\n <ul>\r\n @for (social of socialMenu; track social.title) {\r\n <li>\r\n <a [href]=\"social.link\" rdsitelink [title]=\"social.title\" (click)=\"footerSocialMediaClicked($event)\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + social.icon\"></use>\r\n </svg>\r\n </a>\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n\r\n <div class=\"content-menu\">\r\n @if (footerMenu.length) {\r\n <div class=\"sl-ftr-menu\">\r\n <nav>\r\n <ul class=\"sl-ftr-menu-list\">\r\n @for (menu of footerMenu; track menu.title) {\r\n <li class=\"sl-ftr-menu-list-item\">\r\n @if (menu.title) {\r\n <div class=\"sl-ftr-menu-item\" [ngClass]=\"{ 'have-children': menu.children?.length }\" (click)=\"toggleSubMenu($event, menu)\">\r\n <a\r\n class=\"sl-ftr-menu-item-link\"\r\n [href]=\"menu.url\"\r\n rdsitelink\r\n [title]=\"menu.title\"\r\n (click)=\"toggleSubMenu($event, menu); footerMenuItemClicked($event)\"\r\n >\r\n {{ menu.title }}\r\n </a>\r\n\r\n @if (menu.children?.length) {\r\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#' + (menu.active ? 'up' : 'down')\"></use>\r\n </svg>\r\n }\r\n </div>\r\n\r\n @if (menu.children?.length) {\r\n <ul class=\"sl-ftr-menu-item-children\" [ngClass]=\"{ closed: !menu.active }\">\r\n @for (submenu of menu.children; track submenu.title) {\r\n <li class=\"sl-ftr-menu-item-children-item\">\r\n <div class=\"sl-ftr-menu-item alt\">\r\n <a class=\"sl-ftr-menu-item-link\" [href]=\"submenu.url\" rdsitelink [title]=\"submenu.title\" (click)=\"footerMenuItemClicked($event)\">\r\n {{ submenu.title }}\r\n </a>\r\n </div>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </li>\r\n }\r\n </ul>\r\n </nav>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<div class=\"sl-ftr-disc\">\r\n <div class=\"disc-content\">\r\n <div class=\"disc-content-copy\">\u00A9{{ currentYear }} {{ disclaimer }}</div>\r\n <ul class=\"disc-content-links\">\r\n <li>\r\n <a [href]=\"linkPrivacyFooter || '#'\" target=\"_blank\" data-testid=\"_avisoPrivacidade\" (click)=\"footerPrivacyClicked($event)\"> Aviso de Privacidade </a>\r\n </li>\r\n <li>\r\n <a (click)=\"privacyTools.openCookieBanner(); footerCookieClicked($event)\" data-testid=\"_avisoCookies\"> Aviso de Cookies </a>\r\n </li>\r\n </ul>\r\n </div>\r\n</div>\r\n", styles: ["footer[sl-ftr]{min-height:530px;background-color:var(--ftr-bg-color);display:grid!important;grid-template-areas:\". . .\" \". content .\" \". . .\" \"disc disc disc\";grid-template-columns:minmax(10%,1fr) minmax(auto,1229.4px) minmax(10%,1fr);grid-template-rows:48px 1fr 48px auto}footer[sl-ftr] *{font-family:Gotham,Arial,Helvetica,sans-serif!important}footer[sl-ftr] svg{stroke:#fff;stroke-width:2.25px;fill:none}footer[sl-ftr] .sl-ftr-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer[sl-ftr] .sl-ftr-content .content-menu{width:100%}footer[sl-ftr] .sl-ftr-disc{grid-area:disc}@media only screen and (min-width: 1024px){footer[sl-ftr]{grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr)}footer[sl-ftr] .sl-ftr-content{flex-direction:row;gap:44px}}.sl-ftr-menu{display:flex;flex-direction:column;padding-top:20px}.sl-ftr-menu nav{width:100%;height:auto;flex:auto;column-count:unset}@media only screen and (min-width: 1024px){.sl-ftr-menu{flex-direction:row}.sl-ftr-menu nav{flex:3 1 0;column-count:3}}a.sl-ftr-menu-item-link{text-align:left;padding:8px 0;text-decoration:none;font-style:normal}.sl-ftr-menu-list{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item{display:flex;align-items:center;justify-content:space-between;background-color:transparent;width:auto;cursor:pointer}.sl-ftr-menu-list .sl-ftr-menu-item a.sl-ftr-menu-item-link{color:var(--ftr-color);font-size:14px;font-weight:500;line-height:16px;min-height:35px;letter-spacing:.56px}.sl-ftr-menu-list .sl-ftr-menu-item:hover a{color:var(--ftr-menu-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item:hover svg{stroke:var(--ftr-menu-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item:active a{color:var(--ftr-menu-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item:active svg{stroke:var(--ftr-menu-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt a.sl-ftr-menu-item-link{color:var(--ftr-alt-color);font-size:12px;font-weight:300}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover a{color:var(--ftr-menu-alt-hover-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:hover svg{stroke:var(--ftr-menu-alt-hover-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active a{color:var(--ftr-menu-alt-active-color)}.sl-ftr-menu-list .sl-ftr-menu-item.alt:active svg{stroke:var(--ftr-menu-alt-active-color)!important}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:100%}.sl-ftr-menu-list .sl-ftr-menu-item svg{display:inline}.sl-ftr-menu-list .sl-ftr-menu-item-children{list-style:none}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:none}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}@media only screen and (min-width: 1024px){.sl-ftr-menu-list .sl-ftr-menu-item svg{display:none}.sl-ftr-menu-list .sl-ftr-menu-item.have-children{width:auto}.sl-ftr-menu-list .sl-ftr-menu-item-children.closed{display:block}.sl-ftr-menu-list .sl-ftr-menu-item-children-item{margin:0 0 0 12px}}.sl-ftr-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px 16px;margin-bottom:20px;width:100%;min-height:77px}.sl-ftr-contact img{width:var(--logo-width, 92px);height:50px;object-fit:contain}.sl-ftr-contact .logos .logo{display:contents}.sl-ftr-contact .logos .logo:after{content:\"\";width:1px;height:60px;background-color:var(--ftr-color)}.sl-ftr-contact .logos .partner-logo{display:contents}.sl-ftr-contact .phones{display:flex;width:100%;gap:12px}.sl-ftr-contact .phones .phone,.sl-ftr-contact .phones .dora{display:flex;gap:8px}.sl-ftr-contact .phones .phone .label p,.sl-ftr-contact .phones .dora .label p{color:#f6f6f6;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px;padding-bottom:0}.sl-ftr-contact .phones .phone .label a,.sl-ftr-contact .phones .dora .label a{color:#f6f6f6;font-size:14px;font-weight:700;line-height:19px;letter-spacing:.56px;text-decoration:none}.sl-ftr-contact .phones .dora .img{display:block;width:32px;height:32px;background:#d3d3d3 50%/cover no-repeat;border-radius:50%;border:2px solid #448ecd}.sl-ftr-contact .phones .phone .svg{display:flex;justify-content:center;align-items:center;background:#003da5;border-radius:50%;width:32px;height:32px}.sl-ftr-contact .phones .phone.before:before{content:\"\";width:2px;background-color:#f6f6f6;margin-right:6px}@media only screen and (max-width: 1024px){.sl-ftr-contact .phones{flex-direction:column;gap:20px}.sl-ftr-contact .phones .phone.before:before{display:none}}@media only screen and (min-width: 1024px){.sl-ftr-contact{gap:20px 24px;width:328px}}nav.sl-ftr-medias ul{list-style:none;display:flex;gap:16px 0px;flex-wrap:wrap;width:100%}nav.sl-ftr-medias ul li{display:flex;justify-content:center;align-items:center;border-radius:100%;border:1px solid #ffffff;width:36px;height:36px;margin-right:12px}nav.sl-ftr-medias ul li a{display:flex;justify-content:center;align-items:center;border-radius:100%;width:36px;height:36px;text-decoration:none}@media only screen and (min-width: 361px){nav.sl-ftr-medias ul li{margin-right:15px}}@media only screen and (min-width: 1024px){nav.sl-ftr-medias ul{flex-wrap:nowrap}}.sl-ftr-disc{background-color:var(--ftr-disc-bg-color);display:grid!important;grid-template-areas:\". disc-content .\";grid-template-columns:minmax(5%,1fr) minmax(auto,1229.4px) minmax(5%,1fr);grid-template-rows:auto}.sl-ftr-disc .disc-content{grid-area:disc-content;height:auto;padding:12px 0;display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;flex-direction:column}.sl-ftr-disc .disc-content-copy{font-size:12px;font-style:normal;font-weight:500;text-transform:uppercase;color:var(--ftr-disc-color)}.sl-ftr-disc .disc-content-links{list-style:none;display:flex;flex-direction:row;align-items:flex-start;flex-wrap:wrap;gap:0px 36px}.sl-ftr-disc .disc-content-links li a{font-size:12px;font-style:normal;font-weight:500;color:var(--ftr-disc-alt-color);text-decoration:none;cursor:pointer}@media only screen and (min-width: 1024px){.sl-ftr-disc .disc-content{height:40px;padding:0;align-items:center;flex-direction:row;gap:36px}.sl-ftr-disc .disc-content-links{gap:36px}}\n"] }]
91
+ }], ctorParameters: () => [{ type: i1.CuraApiService }, { type: i2.PrivacyToolsService }, { type: i0.ElementRef }, { type: undefined, decorators: [{
92
+ type: Inject,
93
+ args: [LIB_CONFIG]
94
+ }] }], propDecorators: { project: [{
95
+ type: Input
96
+ }], theme: [{
97
+ type: Input
98
+ }], disclaimer: [{
99
+ type: Input
100
+ }], linkPrivacyFooter: [{
101
+ type: Input
102
+ }], footerPrivacyClick: [{
103
+ type: Output
104
+ }], footerCookieClick: [{
105
+ type: Output
106
+ }], logo: [{
107
+ type: Input
108
+ }], partnerLogo: [{
109
+ type: Input
110
+ }], phone: [{
111
+ type: Input
112
+ }], dora: [{
113
+ type: Input
114
+ }], socialMenu: [{
115
+ type: Input
116
+ }], logoWidth: [{
117
+ type: Input
118
+ }], footerSocialMediaClick: [{
119
+ type: Output
120
+ }], footerMenu: [{
121
+ type: Input
122
+ }], footerMenuItemClick: [{
123
+ type: Output
124
+ }] } });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVcvRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lB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QUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0ExRlUsZUFBZSw2R0FrRGhCLFVBQVU7bUdBbERULGVBQWUsNmdCQ25CNUIsK3FLQTZIQSxpaU1EL0dZLFlBQVksNkhBQUUsbUJBQW1COzs0RkFLaEMsZUFBZTtrQkFUM0IsU0FBUzsrQkFFRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsaUJBQzdCLGlCQUFpQixDQUFDLElBQUk7OzBCQXNEbEMsTUFBTTsyQkFBQyxVQUFVO3lDQWhEaEIsT0FBTztzQkFEVixLQUFLO2dCQVdGLEtBQUs7c0JBRFIsS0FBSztnQkFVRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUdFLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDTyxTQUFTO3NCQUFyQixLQUFLO2dCQVNJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFFRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cmFBcGlTZXJ2aWNlIH0gZnJvbSAnQHJlZGVkb3IvY3VyYS1hbmd1bGFyL2FwaSc7XHJcbmltcG9ydCB7IFByaXZhY3lUb29sc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvb3RlclRoZW1lIH0gZnJvbSAnLi9tb2RlbHMvRm9vdGVyVGhlbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBnZXRGb290ZXJUaGVtZSB9IGZyb20gJy4vaGVscGVycy9mb290ZXJUaGVtZS5mdW5jJztcclxuaW1wb3J0IHsgTWVudUl0ZW0sIE1lbnVTb2NpYWxNZWRpYSB9IGZyb20gJy4uLy4uL21vZGVscy9tZW51LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBSZHNpdGVMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XHJcbmltcG9ydCB7IExJQl9DT05GSUcsIExpYkNvbmZpZyB9IGZyb20gJy4uLy4uL3Rva2Vucy9MaWJDb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ2Zvb3RlcltzbC1mdHJdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJkc2l0ZUxpbmtEaXJlY3RpdmVdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb290ZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBwcm9qZWN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Byb2plY3Q7XHJcbiAgfVxyXG4gIHNldCBwcm9qZWN0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Byb2plY3QgPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlRm9vdGVyVGhlbWUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJvamVjdDogc3RyaW5nID0gJ3NpdGUnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB0aGVtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl90aGVtZTtcclxuICB9XHJcbiAgc2V0IHRoZW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLnVwZGF0ZUZvb3RlclRoZW1lKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2NsYWltZXI6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxpbmtQcml2YWN5Rm9vdGVyOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgZm9vdGVyUHJpdmFjeUNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb290ZXJDb29raWVDbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjdXJyZW50WWVhcjogbnVtYmVyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICBASW5wdXQoKSBsb2dvOiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBhcnRuZXJMb2dvOiBhbnkgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHBob25lOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBkb3JhOiB7IG51bWJlcjogc3RyaW5nOyBsaW5rOiBzdHJpbmc7IGltZ1VybDogc3RyaW5nIH0gPSB7IG51bWJlcjogJycsIGxpbms6ICcnLCBpbWdVcmw6ICcnIH07XHJcbiAgQElucHV0KCkgc29jaWFsTWVudTogTWVudVNvY2lhbE1lZGlhW10gPSBbXTtcclxuICBASW5wdXQoKSBnZXQgbG9nb1dpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvZ29XaWR0aDtcclxuICB9XHJcbiAgc2V0IGxvZ29XaWR0aCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9sb2dvV2lkdGggPSB2YWx1ZTtcclxuICAgIHRoaXMudXBkYXRlTG9nb1dpZHRoKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvZ29XaWR0aDogbnVtYmVyID0gNzI7XHJcblxyXG4gIEBPdXRwdXQoKSBmb290ZXJTb2NpYWxNZWRpYUNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBmb290ZXJNZW51OiBNZW51SXRlbVtdID0gW107XHJcbiAgQE91dHB1dCgpIGZvb3Rlck1lbnVJdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjdXJhU2VydmljZTogQ3VyYUFwaVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgcHJpdmFjeVRvb2xzOiBQcml2YWN5VG9vbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgQEluamVjdChMSUJfQ09ORklHKSBwdWJsaWMgbGliQ29uZmlnOiBMaWJDb25maWcsXHJcbiAgKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUZvb3RlclRoZW1lKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxvZ29XaWR0aCgpIHtcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWxvZ28td2lkdGgnLCBgJHt0aGlzLmxvZ29XaWR0aH1weGApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVGb290ZXJUaGVtZSgpIHtcclxuICAgIGNvbnN0IGZvb3RlclRoZW1lOiBGb290ZXJUaGVtZSA9IGdldEZvb3RlclRoZW1lKHRoaXMucHJvamVjdCwgdGhpcy50aGVtZSwgdGhpcy5jdXJhU2VydmljZSk7XHJcbiAgICBPYmplY3QuZW50cmllcyhmb290ZXJUaGVtZSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKHZhbHVlKS5mb3JFYWNoKChbcHJvcCwgdmFsXSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNzc1ZhciA9IGAtLSR7a2V5fS0ke3Byb3B9YDtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShjc3NWYXIsIHZhbCBhcyBzdHJpbmcpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9vdGVyU29jaWFsTWVkaWFDbGlja2VkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5mb290ZXJTb2NpYWxNZWRpYUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlU3ViTWVudShldmVudDogRXZlbnQsIG1lbnU6IFBhcnRpYWw8TWVudUl0ZW0+KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIG1lbnUuYWN0aXZlID0gIW1lbnUuYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZm9vdGVyTWVudUl0ZW1DbGlja2VkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5mb290ZXJNZW51SXRlbUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgZm9vdGVyUHJpdmFjeUNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmZvb3RlclByaXZhY3lDbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGZvb3RlckNvb2tpZUNsaWNrZWQoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLmZvb3RlckNvb2tpZUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2wtZnRyLWNvbnRlbnRcIj5cclxuICA8ZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNsLWZ0ci1jb250YWN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2dvc1wiPlxyXG4gICAgICAgIEBpZiAobG9nbykge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxvZ29cIj5cclxuICAgICAgICAgICAgPGltZyBbc3JjXT1cImxvZ28/LnVybFwiIFthbHRdPVwibG9nbz8uYWx0XCIgW3RpdGxlXT1cImxvZ28/LnRpdGxlXCIgbG9hZGluZz1cImxhenlcIiBmZXRjaHByaW9yaXR5PVwibG93XCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKHBhcnRuZXJMb2dvKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFydG5lci1sb2dvXCI+XHJcbiAgICAgICAgICAgIDxpbWcgW3NyY109XCJwYXJ0bmVyTG9nbz8udXJsXCIgW2FsdF09XCJwYXJ0bmVyTG9nbz8uYWx0XCIgW3RpdGxlXT1cInBhcnRuZXJMb2dvPy50aXRsZVwiIGxvYWRpbmc9XCJsYXp5XCIgZmV0Y2hwcmlvcml0eT1cImxvd1wiIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGhvbmVzXCI+XHJcbiAgICAgICAgQGlmIChkb3JhLm51bWJlciAmJiBkb3JhLmxpbmspIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb3JhXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImltZ1wiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiZG9yYS5pbWdVcmwgPyAndXJsKCcgKyBkb3JhLmltZ1VybCArICcpJyA6ICd1cmwoJyArIGxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pbWdzL2JnX2RvcmFfd2hhdHNhcHAud2VicCknXCJcclxuICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgPHA+RmFsZSBjb20gYSBEb3JhPC9wPlxyXG4gICAgICAgICAgICAgIDxhIHJkc2l0ZWxpbmsgW2hyZWZdPVwiZG9yYS5saW5rXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkb3JhLm51bWJlciB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAocGhvbmUpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaG9uZVwiIFtjbGFzcy5iZWZvcmVdPVwiZG9yYS5udW1iZXIgJiYgZG9yYS5saW5rXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmdcIj5cclxuICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxyXG4gICAgICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pY29ucy9pY29uc2V0LWRlZmF1bHQuc3ZnI3Bob25lJ1wiPjwvdXNlPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICAgIDxwPkNlbnRyYWw8L3A+XHJcbiAgICAgICAgICAgICAgPGEgcmRzaXRlbGluayBocmVmPVwidGVsOnt7IHBob25lIH19XCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwaG9uZSB9fVxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuYXYgY2xhc3M9XCJzbC1mdHItbWVkaWFzXCI+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICBAZm9yIChzb2NpYWwgb2Ygc29jaWFsTWVudTsgdHJhY2sgc29jaWFsLnRpdGxlKSB7XHJcbiAgICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgIDxhIFtocmVmXT1cInNvY2lhbC5saW5rXCIgcmRzaXRlbGluayBbdGl0bGVdPVwic29jaWFsLnRpdGxlXCIgKGNsaWNrKT1cImZvb3RlclNvY2lhbE1lZGlhQ2xpY2tlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIj5cclxuICAgICAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJsaWJDb25maWcuc2l0ZVN1Zml4ICsgJy9hc3NldHMvaWNvbnMvaWNvbnNldC1kZWZhdWx0LnN2ZyMnICsgc29jaWFsLmljb25cIj48L3VzZT5cclxuICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L25hdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbWVudVwiPlxyXG4gICAgQGlmIChmb290ZXJNZW51Lmxlbmd0aCkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwic2wtZnRyLW1lbnVcIj5cclxuICAgICAgICA8bmF2PlxyXG4gICAgICAgICAgPHVsIGNsYXNzPVwic2wtZnRyLW1lbnUtbGlzdFwiPlxyXG4gICAgICAgICAgICBAZm9yIChtZW51IG9mIGZvb3Rlck1lbnU7IHRyYWNrIG1lbnUudGl0bGUpIHtcclxuICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzbC1mdHItbWVudS1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIEBpZiAobWVudS50aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbVwiIFtuZ0NsYXNzXT1cInsgJ2hhdmUtY2hpbGRyZW4nOiBtZW51LmNoaWxkcmVuPy5sZW5ndGggfVwiIChjbGljayk9XCJ0b2dnbGVTdWJNZW51KCRldmVudCwgbWVudSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtLWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibWVudS51cmxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcmRzaXRlbGlua1xyXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIm1lbnUudGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVN1Yk1lbnUoJGV2ZW50LCBtZW51KTsgZm9vdGVyTWVudUl0ZW1DbGlja2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG1lbnUudGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobWVudS5jaGlsZHJlbj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGliQ29uZmlnLnNpdGVTdWZpeCArICcvYXNzZXRzL2ljb25zL2ljb25zZXQtZGVmYXVsdC5zdmcjJyArIChtZW51LmFjdGl2ZSA/ICd1cCcgOiAnZG93bicpXCI+PC91c2U+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgQGlmIChtZW51LmNoaWxkcmVuPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzbC1mdHItbWVudS1pdGVtLWNoaWxkcmVuXCIgW25nQ2xhc3NdPVwieyBjbG9zZWQ6ICFtZW51LmFjdGl2ZSB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWJtZW51IG9mIG1lbnUuY2hpbGRyZW47IHRyYWNrIHN1Ym1lbnUudGl0bGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwic2wtZnRyLW1lbnUtaXRlbS1jaGlsZHJlbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNsLWZ0ci1tZW51LWl0ZW0gYWx0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInNsLWZ0ci1tZW51LWl0ZW0tbGlua1wiIFtocmVmXT1cInN1Ym1lbnUudXJsXCIgcmRzaXRlbGluayBbdGl0bGVdPVwic3VibWVudS50aXRsZVwiIChjbGljayk9XCJmb290ZXJNZW51SXRlbUNsaWNrZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJtZW51LnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9uYXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJzbC1mdHItZGlzY1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJkaXNjLWNvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNjLWNvbnRlbnQtY29weVwiPsKpe3sgY3VycmVudFllYXIgfX0ge3sgZGlzY2xhaW1lciB9fTwvZGl2PlxyXG4gICAgPHVsIGNsYXNzPVwiZGlzYy1jb250ZW50LWxpbmtzXCI+XHJcbiAgICAgIDxsaT5cclxuICAgICAgICA8YSBbaHJlZl09XCJsaW5rUHJpdmFjeUZvb3RlciB8fCAnIydcIiB0YXJnZXQ9XCJfYmxhbmtcIiBkYXRhLXRlc3RpZD1cIl9hdmlzb1ByaXZhY2lkYWRlXCIgKGNsaWNrKT1cImZvb3RlclByaXZhY3lDbGlja2VkKCRldmVudClcIj4gQXZpc28gZGUgUHJpdmFjaWRhZGUgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgICA8bGk+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cInByaXZhY3lUb29scy5vcGVuQ29va2llQmFubmVyKCk7IGZvb3RlckNvb2tpZUNsaWNrZWQoJGV2ZW50KVwiIGRhdGEtdGVzdGlkPVwiX2F2aXNvQ29va2llc1wiPiBBdmlzbyBkZSBDb29raWVzIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,70 @@
1
+ export const getFooterTheme = (project = 'site', themeStyle = 'default', curaService) => {
2
+ const theme = {
3
+ ftr: {},
4
+ 'ftr-disc': {},
5
+ 'ftr-menu': {},
6
+ 'ftr-social': {},
7
+ };
8
+ const [primaryLighter, primaryLight, primaryBase, primaryDarker] = [
9
+ curaService.theme.colors.getColor('primary-lighter'),
10
+ curaService.theme.colors.getColor('primary-light'),
11
+ curaService.theme.colors.getColor('primary-base'),
12
+ curaService.theme.colors.getColor('primary-darker'),
13
+ ];
14
+ const [accentLight, accentBase] = [curaService.theme.colors.getColor('accent-light'), curaService.theme.colors.getColor('accent-base')];
15
+ const [neutralPurewhite, neutralWhite, neutralBlack] = [
16
+ curaService.theme.colors.getColor('neutral-purewhite'),
17
+ curaService.theme.colors.getColor('neutral-white'),
18
+ curaService.theme.colors.getColor('neutral-black'),
19
+ ];
20
+ switch (project) {
21
+ case 'site':
22
+ if (themeStyle === 'default') {
23
+ theme.ftr = {
24
+ 'bg-color': primaryDarker,
25
+ color: neutralWhite,
26
+ 'alt-color': primaryLighter,
27
+ };
28
+ theme['ftr-disc'] = {
29
+ 'bg-color': neutralPurewhite,
30
+ color: neutralBlack,
31
+ 'alt-color': primaryBase,
32
+ };
33
+ theme['ftr-menu'] = {
34
+ 'hover-color': accentLight,
35
+ 'active-color': accentBase,
36
+ 'alt-hover-color': primaryLight,
37
+ 'alt-active-color': primaryBase,
38
+ };
39
+ theme['ftr-social'] = {
40
+ color: neutralWhite,
41
+ };
42
+ }
43
+ else {
44
+ theme.ftr = {
45
+ 'bg-color': primaryDarker,
46
+ color: neutralWhite,
47
+ 'alt-color': primaryLighter,
48
+ };
49
+ theme['ftr-disc'] = {
50
+ 'bg-color': neutralPurewhite,
51
+ color: neutralBlack,
52
+ 'alt-color': primaryBase,
53
+ };
54
+ theme['ftr-menu'] = {
55
+ 'hover-color': accentLight,
56
+ 'active-color': accentBase,
57
+ 'alt-hover-color': primaryLight,
58
+ 'alt-active-color': primaryBase,
59
+ };
60
+ theme['ftr-social'] = {
61
+ color: neutralWhite,
62
+ };
63
+ }
64
+ break;
65
+ default:
66
+ break;
67
+ }
68
+ return theme;
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyVGhlbWUuZnVuYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2hlbHBlcnMvZm9vdGVyVGhlbWUuZnVuYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxVQUFrQixNQUFNLEVBQUUsYUFBcUIsU0FBUyxFQUFFLFdBQTJCLEVBQUUsRUFBRTtJQUN0SCxNQUFNLEtBQUssR0FBZ0I7UUFDekIsR0FBRyxFQUFFLEVBQUU7UUFDUCxVQUFVLEVBQUUsRUFBRTtRQUNkLFVBQVUsRUFBRSxFQUFFO1FBQ2QsWUFBWSxFQUFFLEVBQUU7S0FDakIsQ0FBQztJQUVGLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsR0FBRztRQUNqRSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUM7UUFDcEQsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNsRCxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ2pELFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztLQUNwRCxDQUFDO0lBQ0YsTUFBTSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN4SSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxHQUFHO1FBQ3JELFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztRQUN0RCxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7S0FDbkQsQ0FBQztJQUVGLFFBQVEsT0FBTyxFQUFFLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzdCLEtBQUssQ0FBQyxHQUFHLEdBQUc7b0JBQ1YsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLEtBQUssRUFBRSxZQUFZO29CQUNuQixXQUFXLEVBQUUsY0FBYztpQkFDNUIsQ0FBQztnQkFDRixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUc7b0JBQ2xCLFVBQVUsRUFBRSxnQkFBZ0I7b0JBQzVCLEtBQUssRUFBRSxZQUFZO29CQUNuQixXQUFXLEVBQUUsV0FBVztpQkFDekIsQ0FBQztnQkFDRixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUc7b0JBQ2xCLGFBQWEsRUFBRSxXQUFXO29CQUMxQixjQUFjLEVBQUUsVUFBVTtvQkFDMUIsaUJBQWlCLEVBQUUsWUFBWTtvQkFDL0Isa0JBQWtCLEVBQUUsV0FBVztpQkFDaEMsQ0FBQztnQkFDRixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQ3BCLEtBQUssRUFBRSxZQUFZO2lCQUNwQixDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssQ0FBQyxHQUFHLEdBQUc7b0JBQ1YsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLEtBQUssRUFBRSxZQUFZO29CQUNuQixXQUFXLEVBQUUsY0FBYztpQkFDNUIsQ0FBQztnQkFDRixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUc7b0JBQ2xCLFVBQVUsRUFBRSxnQkFBZ0I7b0JBQzVCLEtBQUssRUFBRSxZQUFZO29CQUNuQixXQUFXLEVBQUUsV0FBVztpQkFDekIsQ0FBQztnQkFDRixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUc7b0JBQ2xCLGFBQWEsRUFBRSxXQUFXO29CQUMxQixjQUFjLEVBQUUsVUFBVTtvQkFDMUIsaUJBQWlCLEVBQUUsWUFBWTtvQkFDL0Isa0JBQWtCLEVBQUUsV0FBVztpQkFDaEMsQ0FBQztnQkFDRixLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUc7b0JBQ3BCLEtBQUssRUFBRSxZQUFZO2lCQUNwQixDQUFDO1lBQ0osQ0FBQztZQUNELE1BQU07UUFFUjtZQUNFLE1BQU07SUFDVixDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJhQXBpU2VydmljZSB9IGZyb20gJ0ByZWRlZG9yL2N1cmEtYW5ndWxhci9hcGknO1xyXG5pbXBvcnQgeyBGb290ZXJUaGVtZSB9IGZyb20gJy4uL21vZGVscy9Gb290ZXJUaGVtZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0Rm9vdGVyVGhlbWUgPSAocHJvamVjdDogc3RyaW5nID0gJ3NpdGUnLCB0aGVtZVN0eWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcsIGN1cmFTZXJ2aWNlOiBDdXJhQXBpU2VydmljZSkgPT4ge1xyXG4gIGNvbnN0IHRoZW1lOiBGb290ZXJUaGVtZSA9IHtcclxuICAgIGZ0cjoge30sXHJcbiAgICAnZnRyLWRpc2MnOiB7fSxcclxuICAgICdmdHItbWVudSc6IHt9LFxyXG4gICAgJ2Z0ci1zb2NpYWwnOiB7fSxcclxuICB9O1xyXG5cclxuICBjb25zdCBbcHJpbWFyeUxpZ2h0ZXIsIHByaW1hcnlMaWdodCwgcHJpbWFyeUJhc2UsIHByaW1hcnlEYXJrZXJdID0gW1xyXG4gICAgY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdwcmltYXJ5LWxpZ2h0ZXInKSxcclxuICAgIGN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcigncHJpbWFyeS1saWdodCcpLFxyXG4gICAgY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdwcmltYXJ5LWJhc2UnKSxcclxuICAgIGN1cmFTZXJ2aWNlLnRoZW1lLmNvbG9ycy5nZXRDb2xvcigncHJpbWFyeS1kYXJrZXInKSxcclxuICBdO1xyXG4gIGNvbnN0IFthY2NlbnRMaWdodCwgYWNjZW50QmFzZV0gPSBbY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdhY2NlbnQtbGlnaHQnKSwgY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCdhY2NlbnQtYmFzZScpXTtcclxuICBjb25zdCBbbmV1dHJhbFB1cmV3aGl0ZSwgbmV1dHJhbFdoaXRlLCBuZXV0cmFsQmxhY2tdID0gW1xyXG4gICAgY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gICAgY3VyYVNlcnZpY2UudGhlbWUuY29sb3JzLmdldENvbG9yKCduZXV0cmFsLXdoaXRlJyksXHJcbiAgICBjdXJhU2VydmljZS50aGVtZS5jb2xvcnMuZ2V0Q29sb3IoJ25ldXRyYWwtYmxhY2snKSxcclxuICBdO1xyXG5cclxuICBzd2l0Y2ggKHByb2plY3QpIHtcclxuICAgIGNhc2UgJ3NpdGUnOlxyXG4gICAgICBpZiAodGhlbWVTdHlsZSA9PT0gJ2RlZmF1bHQnKSB7XHJcbiAgICAgICAgdGhlbWUuZnRyID0ge1xyXG4gICAgICAgICAgJ2JnLWNvbG9yJzogcHJpbWFyeURhcmtlcixcclxuICAgICAgICAgIGNvbG9yOiBuZXV0cmFsV2hpdGUsXHJcbiAgICAgICAgICAnYWx0LWNvbG9yJzogcHJpbWFyeUxpZ2h0ZXIsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGVtZVsnZnRyLWRpc2MnXSA9IHtcclxuICAgICAgICAgICdiZy1jb2xvcic6IG5ldXRyYWxQdXJld2hpdGUsXHJcbiAgICAgICAgICBjb2xvcjogbmV1dHJhbEJsYWNrLFxyXG4gICAgICAgICAgJ2FsdC1jb2xvcic6IHByaW1hcnlCYXNlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhlbWVbJ2Z0ci1tZW51J10gPSB7XHJcbiAgICAgICAgICAnaG92ZXItY29sb3InOiBhY2NlbnRMaWdodCxcclxuICAgICAgICAgICdhY3RpdmUtY29sb3InOiBhY2NlbnRCYXNlLFxyXG4gICAgICAgICAgJ2FsdC1ob3Zlci1jb2xvcic6IHByaW1hcnlMaWdodCxcclxuICAgICAgICAgICdhbHQtYWN0aXZlLWNvbG9yJzogcHJpbWFyeUJhc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGVtZVsnZnRyLXNvY2lhbCddID0ge1xyXG4gICAgICAgICAgY29sb3I6IG5ldXRyYWxXaGl0ZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoZW1lLmZ0ciA9IHtcclxuICAgICAgICAgICdiZy1jb2xvcic6IHByaW1hcnlEYXJrZXIsXHJcbiAgICAgICAgICBjb2xvcjogbmV1dHJhbFdoaXRlLFxyXG4gICAgICAgICAgJ2FsdC1jb2xvcic6IHByaW1hcnlMaWdodGVyLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhlbWVbJ2Z0ci1kaXNjJ10gPSB7XHJcbiAgICAgICAgICAnYmctY29sb3InOiBuZXV0cmFsUHVyZXdoaXRlLFxyXG4gICAgICAgICAgY29sb3I6IG5ldXRyYWxCbGFjayxcclxuICAgICAgICAgICdhbHQtY29sb3InOiBwcmltYXJ5QmFzZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoZW1lWydmdHItbWVudSddID0ge1xyXG4gICAgICAgICAgJ2hvdmVyLWNvbG9yJzogYWNjZW50TGlnaHQsXHJcbiAgICAgICAgICAnYWN0aXZlLWNvbG9yJzogYWNjZW50QmFzZSxcclxuICAgICAgICAgICdhbHQtaG92ZXItY29sb3InOiBwcmltYXJ5TGlnaHQsXHJcbiAgICAgICAgICAnYWx0LWFjdGl2ZS1jb2xvcic6IHByaW1hcnlCYXNlLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhlbWVbJ2Z0ci1zb2NpYWwnXSA9IHtcclxuICAgICAgICAgIGNvbG9yOiBuZXV0cmFsV2hpdGUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBicmVhaztcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICBicmVhaztcclxuICB9XHJcblxyXG4gIHJldHVybiB0aGVtZTtcclxufTtcclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9vdGVyVGhlbWUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9tb2RlbHMvRm9vdGVyVGhlbWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGhlbWUge1xyXG4gIGZ0cjogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICAnZnRyLWRpc2MnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gICdmdHItbWVudSc6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbiAgJ2Z0ci1zb2NpYWwnOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb290ZXJUaGVtZUtleXMgPSBrZXlvZiBGb290ZXJUaGVtZTtcclxuIl19
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, EventEmitter, Inject, Input, Output, ViewEncapsulation } from '@angular/core';
2
+ import { RdsiteLinkDirective } from '../../../../directives';
3
+ import { LIB_CONFIG } from '../../../../tokens/LibConfig';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/header.service";
6
+ export class HeaderActionMenuComponent {
7
+ constructor(headerService, libConfig) {
8
+ this.headerService = headerService;
9
+ this.libConfig = libConfig;
10
+ this.loginUrl = '';
11
+ this.showSearch = true;
12
+ this.homeUrl = '';
13
+ this.headerLoginClick = new EventEmitter();
14
+ }
15
+ headerLoginClicked(event) {
16
+ this.headerLoginClick.emit(event);
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderActionMenuComponent, deps: [{ token: i1.HeaderService }, { token: LIB_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: HeaderActionMenuComponent, isStandalone: true, selector: "div[sl-hdr-act]", inputs: { loginUrl: "loginUrl", showSearch: "showSearch", homeUrl: "homeUrl" }, outputs: { headerLoginClick: "headerLoginClick" }, ngImport: i0, template: "@if (loginUrl) {\r\n <div class=\"sl-hdr-act-login\">\r\n <a [href]=\"loginUrl\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\r\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <span>ENTRAR</span>\r\n </a>\r\n </div>\r\n}\r\n@if (homeUrl) {\r\n <div class=\"sl-hdr-act-home\">\r\n <a [href]=\"homeUrl\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\r\n </div>\r\n}\r\n\r\n<div class=\"sl-hdr-act-acts\">\r\n @if (showSearch) {\r\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\r\n @if (!headerService.showSearch()) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#search'\"></use>\r\n </svg>\r\n <span>BUSCAR</span>\r\n } @else {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n <span>FECHAR</span>\r\n }\r\n </button>\r\n }\r\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#menuHamburguer'\"></use>\r\n </svg>\r\n </button>\r\n</div>\r\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"], dependencies: [{ kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HeaderActionMenuComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'div[sl-hdr-act]', standalone: true, imports: [RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (loginUrl) {\r\n <div class=\"sl-hdr-act-login\">\r\n <a [href]=\"loginUrl\" aria-label=\"Entrar\" (click)=\"headerLoginClicked($event)\" rdsitelink class=\"sl-hdr-act-login-link\">\r\n <svg class=\"icon-mobile\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <svg class=\"icon-desktop\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#profileCircle'\"></use>\r\n </svg>\r\n <span>ENTRAR</span>\r\n </a>\r\n </div>\r\n}\r\n@if (homeUrl) {\r\n <div class=\"sl-hdr-act-home\">\r\n <a [href]=\"homeUrl\" class=\"sl-hdr-act-home-link\" aria-label=\"P\u00E1gina inicial\" rdsitelink> Portal Rede D\u2019Or </a>\r\n </div>\r\n}\r\n\r\n<div class=\"sl-hdr-act-acts\">\r\n @if (showSearch) {\r\n <button type=\"button\" aria-label=\"Buscar\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSearch()\">\r\n @if (!headerService.showSearch()) {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#search'\"></use>\r\n </svg>\r\n <span>BUSCAR</span>\r\n } @else {\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#close'\"></use>\r\n </svg>\r\n <span>FECHAR</span>\r\n }\r\n </button>\r\n }\r\n <button type=\"button\" aria-label=\"Abrir menu lateral\" class=\"sl-hdr-act-acts-button\" (click)=\"headerService.toggleShowSideMenu()\">\r\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" preserveAspectRatio=\"xMidYMid meet\">\r\n <use [attr.xlink:href]=\"libConfig.siteSufix + '/assets/icons/iconset-default.svg#menuHamburguer'\"></use>\r\n </svg>\r\n </button>\r\n</div>\r\n", styles: ["div[sl-hdr-act]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;gap:2px;background-color:var(--hdr-act-bg-color)}.sl-hdr-act-login,.sl-hdr-act-home{display:flex;align-items:center;justify-content:center;height:100%;padding:0 15px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-login-link,.sl-hdr-act-home-link{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:6px;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-login-link svg,.sl-hdr-act-home-link svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-login-link:hover,.sl-hdr-act-home-link:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:hover svg,.sl-hdr-act-home-link:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-login-link:active,.sl-hdr-act-home-link:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link:active svg,.sl-hdr-act-home-link:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:none}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:inline}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span,.sl-hdr-act-home{display:none}.sl-hdr-act-acts{display:flex;align-items:center;justify-content:center;height:100%;padding:0 12px;background-color:var(--hdr-act-items-bg-color)}.sl-hdr-act-acts-button{display:flex;align-items:center;justify-content:center;height:100%;gap:8px;padding:8px;background-color:transparent;color:var(--hdr-act-items-color)!important;font-size:12px;line-height:13px;letter-spacing:.72px;font-weight:500;cursor:pointer}.sl-hdr-act-acts-button svg{stroke:var(--hdr-act-items-color)!important}.sl-hdr-act-acts-button:hover{color:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:hover svg{stroke:var(--hdr-act-items-hover)!important}.sl-hdr-act-acts-button:active{color:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button:active svg{stroke:var(--hdr-act-items-active)!important}.sl-hdr-act-acts-button span{display:none}@media only screen and (min-width: 1024px){.sl-hdr-act-login,.sl-hdr-act-home{padding:0 12px}.sl-hdr-act-login-link,.sl-hdr-act-home-link{padding:8px}.sl-hdr-act-login-link .icon-desktop,.sl-hdr-act-home-link .icon-desktop{display:inline}.sl-hdr-act-login-link .icon-mobile,.sl-hdr-act-home-link .icon-mobile{display:none}.sl-hdr-act-login-link span,.sl-hdr-act-home-link span{display:inline}.sl-hdr-act-home{display:flex}.sl-hdr-act-acts{padding:0 8px}.sl-hdr-act-acts-button span{display:inline}}\n"] }]
24
+ }], ctorParameters: () => [{ type: i1.HeaderService }, { type: undefined, decorators: [{
25
+ type: Inject,
26
+ args: [LIB_CONFIG]
27
+ }] }], propDecorators: { loginUrl: [{
28
+ type: Input
29
+ }], showSearch: [{
30
+ type: Input
31
+ }], homeUrl: [{
32
+ type: Input
33
+ }], headerLoginClick: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWFjdGlvbi1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyLWFjdGlvbi1tZW51L2hlYWRlci1hY3Rpb24tbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9jb21wb25lbnRzL2hlYWRlci1hY3Rpb24tbWVudS9oZWFkZXItYWN0aW9uLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkosT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLDhCQUE4QixDQUFDOzs7QUFhckUsTUFBTSxPQUFPLHlCQUF5QjtJQU1wQyxZQUNTLGFBQTRCLEVBQ1IsU0FBb0I7UUFEeEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDUixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBUHhDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLHFCQUFnQixHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS2xFLENBQUM7SUFFSixrQkFBa0IsQ0FBQyxLQUFZO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FiVSx5QkFBeUIsK0NBUTFCLFVBQVU7bUdBUlQseUJBQXlCLDhNQ2hCdEMscXBFQXlDQSwrcUZEaENZLG1CQUFtQjs7NEZBT2xCLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFFRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxtQkFBbUIsQ0FBQyxXQUNyQixDQUFDLHNCQUFzQixDQUFDLGlCQUNsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFZNUMsTUFBTTsyQkFBQyxVQUFVO3lDQVBYLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWFkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFJkc2l0ZUxpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnZGl2W3NsLWhkci1hY3RdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtSZHNpdGVMaW5rRGlyZWN0aXZlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLWFjdGlvbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vaGVhZGVyLWFjdGlvbi1tZW51LmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckFjdGlvbk1lbnVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGxvZ2luVXJsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBzaG93U2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBob21lVXJsOiBzdHJpbmcgPSAnJztcclxuICBAT3V0cHV0KCkgaGVhZGVyTG9naW5DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZSxcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHVibGljIGxpYkNvbmZpZzogTGliQ29uZmlnLFxyXG4gICkge31cclxuXHJcbiAgaGVhZGVyTG9naW5DbGlja2VkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgdGhpcy5oZWFkZXJMb2dpbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKGxvZ2luVXJsKSB7XHJcbiAgPGRpdiBjbGFzcz1cInNsLWhkci1hY3QtbG9naW5cIj5cclxuICAgIDxhIFtocmVmXT1cImxvZ2luVXJsXCIgYXJpYS1sYWJlbD1cIkVudHJhclwiIChjbGljayk9XCJoZWFkZXJMb2dpbkNsaWNrZWQoJGV2ZW50KVwiIHJkc2l0ZWxpbmsgY2xhc3M9XCJzbC1oZHItYWN0LWxvZ2luLWxpbmtcIj5cclxuICAgICAgPHN2ZyBjbGFzcz1cImljb24tbW9iaWxlXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XHJcbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pY29ucy9pY29uc2V0LWRlZmF1bHQuc3ZnI3Byb2ZpbGVDaXJjbGUnXCI+PC91c2U+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgICA8c3ZnIGNsYXNzPVwiaWNvbi1kZXNrdG9wXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XHJcbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImxpYkNvbmZpZy5zaXRlU3VmaXggKyAnL2Fzc2V0cy9pY29ucy9pY29uc2V0LWRlZmF1bHQuc3ZnI3Byb2ZpbGVDaXJjbGUnXCI+PC91c2U+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgICA8c3Bhbj5FTlRSQVI8L3NwYW4+XHJcbiAgICA8L2E+XHJcbiAgPC9kaXY+XHJcbn1cclxuQGlmIChob21lVXJsKSB7XHJcbiAgPGRpdiBjbGFzcz1cInNsLWhkci1hY3QtaG9tZVwiPlxyXG4gICAgPGEgW2hyZWZdPVwiaG9tZVVybFwiIGNsYXNzPVwic2wtaGRyLWFjdC1ob21lLWxpbmtcIiBhcmlhLWxhYmVsPVwiUMOhZ2luYSBpbmljaWFsXCIgcmRzaXRlbGluaz4gUG9ydGFsIFJlZGUgROKAmU9yIDwvYT5cclxuICA8L2Rpdj5cclxufVxyXG5cclxuPGRpdiBjbGFzcz1cInNsLWhkci1hY3QtYWN0c1wiPlxyXG4gIEBpZiAoc2hvd1NlYXJjaCkge1xyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIkJ1c2NhclwiIGNsYXNzPVwic2wtaGRyLWFjdC1hY3RzLWJ1dHRvblwiIChjbGljayk9XCJoZWFkZXJTZXJ2aWNlLnRvZ2dsZVNob3dTZWFyY2goKVwiPlxyXG4gICAgICBAaWYgKCFoZWFkZXJTZXJ2aWNlLnNob3dTZWFyY2goKSkge1xyXG4gICAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XHJcbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwibGliQ29uZmlnLnNpdGVTdWZpeCArICcvYXNzZXRzL2ljb25zL2ljb25zZXQtZGVmYXVsdC5zdmcjc2VhcmNoJ1wiPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDxzcGFuPkJVU0NBUjwvc3Bhbj5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIj5cclxuICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJsaWJDb25maWcuc2l0ZVN1Zml4ICsgJy9hc3NldHMvaWNvbnMvaWNvbnNldC1kZWZhdWx0LnN2ZyNjbG9zZSdcIj48L3VzZT5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8c3Bhbj5GRUNIQVI8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvYnV0dG9uPlxyXG4gIH1cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQWJyaXIgbWVudSBsYXRlcmFsXCIgY2xhc3M9XCJzbC1oZHItYWN0LWFjdHMtYnV0dG9uXCIgKGNsaWNrKT1cImhlYWRlclNlcnZpY2UudG9nZ2xlU2hvd1NpZGVNZW51KClcIj5cclxuICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCI+XHJcbiAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJsaWJDb25maWcuc2l0ZVN1Zml4ICsgJy9hc3NldHMvaWNvbnMvaWNvbnNldC1kZWZhdWx0LnN2ZyNtZW51SGFtYnVyZ3VlcidcIj48L3VzZT5cclxuICAgIDwvc3ZnPlxyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19