@rededor/site-front-end-lib 20.0.27 → 20.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/algolia-dropdown/index.d.ts +38 -0
- package/components/algolia-search/index.d.ts +304 -0
- package/components/banner/index.d.ts +20 -0
- package/components/breadcrumbs/index.d.ts +42 -0
- package/components/cards/index.d.ts +102 -0
- package/components/carousels/index.d.ts +28 -0
- package/components/cta-wrapper/index.d.ts +33 -0
- package/components/error/index.d.ts +47 -0
- package/components/filter-letter-and-terms/index.d.ts +38 -0
- package/components/filters/filter-generic/index.d.ts +70 -0
- package/components/filters/filter-planos-convenios/index.d.ts +41 -0
- package/components/footer/index.d.ts +44 -0
- package/components/header/components/action/index.d.ts +17 -0
- package/components/header/components/auxiliar/index.d.ts +31 -0
- package/components/header/components/main/index.d.ts +72 -0
- package/components/header/components/side/index.d.ts +35 -0
- package/components/header/index.d.ts +63 -0
- package/components/header/services/index.d.ts +14 -0
- package/components/image/index.d.ts +23 -0
- package/components/load-screen/index.d.ts +14 -0
- package/components/modal/index.d.ts +28 -0
- package/components/modal-drawer/index.d.ts +46 -0
- package/components/overlay/index.d.ts +10 -0
- package/components/page-header/index.d.ts +30 -0
- package/components/page-template-fullcontent/index.d.ts +17 -0
- package/components/page-template-sidebar/index.d.ts +20 -0
- package/components/pagination/index.d.ts +30 -0
- package/components/search/index.d.ts +45 -0
- package/components/section-navigation/index.d.ts +45 -0
- package/components/side-ctas/index.d.ts +70 -0
- package/components/sidebar-navigation/index.d.ts +40 -0
- package/components/sticky-navigation/index.d.ts +42 -0
- package/components/whatsapp/index.d.ts +27 -0
- package/core/index.d.ts +2049 -0
- package/cura/accordion/index.d.ts +120 -0
- package/cura/api/index.d.ts +359 -0
- package/cura/badges/cura-badge-counter/index.d.ts +38 -0
- package/cura/badges/cura-badge-distance/index.d.ts +21 -0
- package/cura/badges/cura-badge-dot/index.d.ts +29 -0
- package/cura/badges/cura-badge-pill/index.d.ts +42 -0
- package/cura/badges/index.d.ts +5 -0
- package/cura/buttons/cura-button/index.d.ts +90 -0
- package/cura/buttons/cura-button-outline/index.d.ts +90 -0
- package/cura/buttons/cura-button-select/index.d.ts +39 -0
- package/cura/buttons/cura-button-transparent/index.d.ts +87 -0
- package/cura/buttons/index.d.ts +15 -0
- package/cura/cards/cura-card/index.d.ts +49 -0
- package/cura/feedback/cura-alert/index.d.ts +55 -0
- package/cura/feedback/cura-modal/index.d.ts +97 -0
- package/cura/feedback/cura-toast/index.d.ts +104 -0
- package/cura/forms/cura-checkbox/index.d.ts +157 -0
- package/cura/forms/cura-input-text/index.d.ts +236 -0
- package/cura/forms/cura-label/index.d.ts +47 -0
- package/cura/forms/cura-radio/index.d.ts +148 -0
- package/cura/forms/cura-select/index.d.ts +155 -0
- package/cura/forms/cura-select-option/index.d.ts +54 -0
- package/cura/forms/cura-select-state/index.d.ts +72 -0
- package/cura/forms/cura-switch/index.d.ts +113 -0
- package/cura/forms/cura-textarea/index.d.ts +113 -0
- package/cura/forms/index.d.ts +20 -0
- package/cura/icons/cura-icon/index.d.ts +46 -0
- package/cura/loaders/cura-loader-bar/index.d.ts +22 -0
- package/cura/loaders/cura-loader-circle/index.d.ts +24 -0
- package/cura/texts/cura-display/index.d.ts +54 -0
- package/cura/texts/cura-heading/index.d.ts +65 -0
- package/cura/texts/cura-paragraph/index.d.ts +54 -0
- package/cura/texts/index.d.ts +7 -0
- package/enums/index.d.ts +177 -0
- package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +108 -0
- package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +604 -0
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +44 -0
- package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +120 -0
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +178 -0
- package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +75 -0
- package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +78 -0
- package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs +176 -0
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +93 -0
- package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +245 -0
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +139 -0
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +199 -0
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +34 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +62 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +167 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +71 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs +50 -0
- package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-header.mjs +416 -0
- package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-image.mjs +48 -0
- package/fesm2022/rededor-site-front-end-lib-components-image.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +30 -0
- package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +145 -0
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +82 -0
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +24 -0
- package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +52 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs +27 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +30 -0
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +55 -0
- package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-search.mjs +119 -0
- package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +141 -0
- package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +118 -0
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +109 -0
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +120 -0
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +49 -0
- package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-core.mjs +1812 -0
- package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +252 -0
- package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +643 -0
- package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +90 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +55 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +66 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +91 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs +4 -0
- package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +170 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +135 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +161 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +170 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs +13 -0
- package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +72 -0
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +90 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +105 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs +198 -0
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +258 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +587 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +82 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +243 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +89 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs +123 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +389 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +182 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs +209 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs +21 -0
- package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +88 -0
- package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +44 -0
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +49 -0
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +84 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +104 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +89 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs +4 -0
- package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-enums.mjs +188 -0
- package/fesm2022/rededor-site-front-end-lib-enums.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs +74 -0
- package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs +41 -0
- package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs +88 -0
- package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs +52 -0
- package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs +49 -0
- package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs +40 -0
- package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib-shared.mjs +110 -0
- package/fesm2022/rededor-site-front-end-lib-shared.mjs.map +1 -0
- package/fesm2022/rededor-site-front-end-lib.mjs +11 -0
- package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -0
- package/index.d.ts +3 -0
- package/package.json +312 -9
- package/services/algolia/index.d.ts +18 -0
- package/services/algolia-search-api/index.d.ts +17 -0
- package/services/ngu-carousel/index.d.ts +16 -0
- package/services/ssr-loading/index.d.ts +14 -0
- package/services/transfer-state/index.d.ts +13 -0
- package/services/youtube/index.d.ts +13 -0
- package/shared/index.d.ts +40 -0
- package/CHANGELOG.md +0 -828
- package/components/algolia-dropdown/algolia-dropdown.component.html +0 -19
- package/components/algolia-dropdown/algolia-dropdown.component.scss +0 -0
- package/components/algolia-dropdown/algolia-dropdown.component.spec.ts +0 -22
- package/components/algolia-dropdown/algolia-dropdown.component.ts +0 -103
- package/components/algolia-dropdown/index.ts +0 -1
- package/components/algolia-dropdown/ng-package.json +0 -6
- package/components/algolia-dropdown/public-api.ts +0 -1
- package/components/algolia-search/components/algolia-search/algolia-search.component.html +0 -96
- package/components/algolia-search/components/algolia-search/algolia-search.component.scss +0 -588
- package/components/algolia-search/components/algolia-search/algolia-search.component.spec.ts +0 -21
- package/components/algolia-search/components/algolia-search/algolia-search.component.ts +0 -415
- package/components/algolia-search/components/algolia-search-field/algolia-search-field.component.html +0 -23
- package/components/algolia-search/components/algolia-search-field/algolia-search-field.component.scss +0 -5
- package/components/algolia-search/components/algolia-search-field/algolia-search-field.component.spec.ts +0 -22
- package/components/algolia-search/components/algolia-search-field/algolia-search-field.component.ts +0 -90
- package/components/algolia-search/components/algolia-search-result-item/algolia-search-result-item.component.html +0 -70
- package/components/algolia-search/components/algolia-search-result-item/algolia-search-result-item.component.scss +0 -27
- package/components/algolia-search/components/algolia-search-result-item/algolia-search-result-item.component.spec.ts +0 -21
- package/components/algolia-search/components/algolia-search-result-item/algolia-search-result-item.component.ts +0 -77
- package/components/algolia-search/components/algolia-search-results/algolia-search-results.component.html +0 -6
- package/components/algolia-search/components/algolia-search-results/algolia-search-results.component.scss +0 -0
- package/components/algolia-search/components/algolia-search-results/algolia-search-results.component.spec.ts +0 -21
- package/components/algolia-search/components/algolia-search-results/algolia-search-results.component.ts +0 -90
- package/components/algolia-search/components/algolia-search-tooltip/algolia-search-tooltip.component.html +0 -1
- package/components/algolia-search/components/algolia-search-tooltip/algolia-search-tooltip.component.scss +0 -0
- package/components/algolia-search/components/algolia-search-tooltip/algolia-search-tooltip.component.spec.ts +0 -21
- package/components/algolia-search/components/algolia-search-tooltip/algolia-search-tooltip.component.ts +0 -9
- package/components/algolia-search/index.ts +0 -1
- package/components/algolia-search/models/algolia-component-style.enum.ts +0 -4
- package/components/algolia-search/models/algolia-config.model.ts +0 -8
- package/components/algolia-search/models/algolia-hint.model.ts +0 -4
- package/components/algolia-search/models/algolia-hit-description.model.ts +0 -6
- package/components/algolia-search/models/algolia-multiple-index.model.ts +0 -7
- package/components/algolia-search/models/algolia-results-item.model.ts +0 -8
- package/components/algolia-search/models/algolia-results-multiple.model.ts +0 -6
- package/components/algolia-search/models/algolia-search-params.model.ts +0 -83
- package/components/algolia-search/ng-package.json +0 -6
- package/components/algolia-search/public-api.ts +0 -13
- package/components/banner/content-banner/content-banner.component.html +0 -51
- package/components/banner/content-banner/content-banner.component.scss +0 -91
- package/components/banner/content-banner/content-banner.component.spec.ts +0 -27
- package/components/banner/content-banner/content-banner.component.ts +0 -36
- package/components/banner/index.ts +0 -1
- package/components/banner/ng-package.json +0 -6
- package/components/banner/public-api.ts +0 -1
- package/components/breadcrumbs/breadcrumbs.component.html +0 -56
- package/components/breadcrumbs/breadcrumbs.component.scss +0 -55
- package/components/breadcrumbs/breadcrumbs.component.spec.ts +0 -22
- package/components/breadcrumbs/breadcrumbs.component.ts +0 -142
- package/components/breadcrumbs/index.ts +0 -1
- package/components/breadcrumbs/ng-package.json +0 -6
- package/components/breadcrumbs/public-api.ts +0 -1
- package/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.html +0 -91
- package/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.scss +0 -143
- package/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.spec.ts +0 -22
- package/components/cards/card-unidade-planos-convenios/card-unidade-planos-convenios.component.ts +0 -66
- package/components/cards/expandable-card/expandable-card.component.html +0 -30
- package/components/cards/expandable-card/expandable-card.component.scss +0 -100
- package/components/cards/expandable-card/expandable-card.component.spec.ts +0 -27
- package/components/cards/expandable-card/expandable-card.component.ts +0 -60
- package/components/cards/index.ts +0 -1
- package/components/cards/ng-package.json +0 -6
- package/components/cards/public-api.ts +0 -3
- package/components/cards/testimonial-card/testimonial-card.component.html +0 -41
- package/components/cards/testimonial-card/testimonial-card.component.scss +0 -96
- package/components/cards/testimonial-card/testimonial-card.component.spec.ts +0 -27
- package/components/cards/testimonial-card/testimonial-card.component.ts +0 -65
- package/components/carousels/index.ts +0 -1
- package/components/carousels/ng-package.json +0 -6
- package/components/carousels/public-api.ts +0 -1
- package/components/carousels/testimonials-carousel/testimonials-carousel.component.html +0 -30
- package/components/carousels/testimonials-carousel/testimonials-carousel.component.scss +0 -91
- package/components/carousels/testimonials-carousel/testimonials-carousel.component.spec.ts +0 -27
- package/components/carousels/testimonials-carousel/testimonials-carousel.component.ts +0 -73
- package/components/cta-wrapper/cta-wrapper.component.html +0 -54
- package/components/cta-wrapper/cta-wrapper.component.scss +0 -123
- package/components/cta-wrapper/cta-wrapper.component.spec.ts +0 -22
- package/components/cta-wrapper/cta-wrapper.component.ts +0 -77
- package/components/cta-wrapper/index.ts +0 -1
- package/components/cta-wrapper/ng-package.json +0 -6
- package/components/cta-wrapper/public-api.ts +0 -1
- package/components/error/error.component.html +0 -65
- package/components/error/error.component.scss +0 -26
- package/components/error/error.component.spec.ts +0 -22
- package/components/error/error.component.ts +0 -182
- package/components/error/index.ts +0 -1
- package/components/error/ng-package.json +0 -6
- package/components/error/public-api.ts +0 -1
- package/components/filter-letter-and-terms/filter-letter-and-terms.component.html +0 -33
- package/components/filter-letter-and-terms/filter-letter-and-terms.component.scss +0 -98
- package/components/filter-letter-and-terms/filter-letter-and-terms.component.spec.ts +0 -22
- package/components/filter-letter-and-terms/filter-letter-and-terms.component.ts +0 -87
- package/components/filter-letter-and-terms/index.ts +0 -1
- package/components/filter-letter-and-terms/ng-package.json +0 -6
- package/components/filter-letter-and-terms/public-api.ts +0 -1
- package/components/filters/filter-generic/USAGE.md +0 -147
- package/components/filters/filter-generic/filter-generic.component.html +0 -174
- package/components/filters/filter-generic/filter-generic.component.scss +0 -266
- package/components/filters/filter-generic/filter-generic.component.spec.ts +0 -21
- package/components/filters/filter-generic/filter-generic.component.ts +0 -266
- package/components/filters/filter-generic/index.ts +0 -1
- package/components/filters/filter-generic/ng-package.json +0 -6
- package/components/filters/filter-generic/public-api.ts +0 -1
- package/components/filters/filter-planos-convenios/filter-planos-convenios.component.html +0 -76
- package/components/filters/filter-planos-convenios/filter-planos-convenios.component.scss +0 -84
- package/components/filters/filter-planos-convenios/filter-planos-convenios.component.spec.ts +0 -21
- package/components/filters/filter-planos-convenios/filter-planos-convenios.component.ts +0 -149
- package/components/filters/filter-planos-convenios/index.ts +0 -1
- package/components/filters/filter-planos-convenios/ng-package.json +0 -6
- package/components/filters/filter-planos-convenios/public-api.ts +0 -1
- package/components/footer/footer.component.html +0 -125
- package/components/footer/footer.component.scss +0 -451
- package/components/footer/footer.component.spec.ts +0 -22
- package/components/footer/footer.component.ts +0 -94
- package/components/footer/helpers/footerTheme.func.ts +0 -119
- package/components/footer/index.ts +0 -1
- package/components/footer/models/FooterTheme.model.ts +0 -8
- package/components/footer/ng-package.json +0 -6
- package/components/footer/public-api.ts +0 -1
- package/components/header/components/action/header-action-menu/header-action-menu.component.html +0 -41
- package/components/header/components/action/header-action-menu/header-action-menu.component.scss +0 -158
- package/components/header/components/action/header-action-menu/header-action-menu.component.spec.ts +0 -22
- package/components/header/components/action/header-action-menu/header-action-menu.component.ts +0 -30
- package/components/header/components/action/index.ts +0 -1
- package/components/header/components/action/ng-package.json +0 -6
- package/components/header/components/action/public-api.ts +0 -1
- package/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.html +0 -33
- package/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.scss +0 -60
- package/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.spec.ts +0 -22
- package/components/header/components/auxiliar/header-aux-menu-item/header-aux-menu-item.component.ts +0 -46
- package/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.html +0 -7
- package/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.scss +0 -27
- package/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.spec.ts +0 -22
- package/components/header/components/auxiliar/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.ts +0 -19
- package/components/header/components/auxiliar/index.ts +0 -1
- package/components/header/components/auxiliar/ng-package.json +0 -6
- package/components/header/components/auxiliar/public-api.ts +0 -2
- package/components/header/components/header-logo/header-logo.component.html +0 -5
- package/components/header/components/header-logo/header-logo.component.scss +0 -20
- package/components/header/components/header-logo/header-logo.component.spec.ts +0 -22
- package/components/header/components/header-logo/header-logo.component.ts +0 -23
- package/components/header/components/main/header-main-menu-item/header-main-menu-item.component.html +0 -30
- package/components/header/components/main/header-main-menu-item/header-main-menu-item.component.scss +0 -53
- package/components/header/components/main/header-main-menu-item/header-main-menu-item.component.spec.ts +0 -22
- package/components/header/components/main/header-main-menu-item/header-main-menu-item.component.ts +0 -88
- package/components/header/components/main/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.html +0 -112
- package/components/header/components/main/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.scss +0 -259
- package/components/header/components/main/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.spec.ts +0 -22
- package/components/header/components/main/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.ts +0 -107
- package/components/header/components/main/index.ts +0 -1
- package/components/header/components/main/ng-package.json +0 -6
- package/components/header/components/main/public-api.ts +0 -2
- package/components/header/components/side/header-side-menu/header-side-menu.component.html +0 -32
- package/components/header/components/side/header-side-menu/header-side-menu.component.scss +0 -81
- package/components/header/components/side/header-side-menu/header-side-menu.component.spec.ts +0 -22
- package/components/header/components/side/header-side-menu/header-side-menu.component.ts +0 -29
- package/components/header/components/side/header-side-menu-item/header-side-menu-item.component.html +0 -26
- package/components/header/components/side/header-side-menu-item/header-side-menu-item.component.scss +0 -104
- package/components/header/components/side/header-side-menu-item/header-side-menu-item.component.spec.ts +0 -22
- package/components/header/components/side/header-side-menu-item/header-side-menu-item.component.ts +0 -45
- package/components/header/components/side/index.ts +0 -1
- package/components/header/components/side/ng-package.json +0 -6
- package/components/header/components/side/public-api.ts +0 -2
- package/components/header/header.component.html +0 -81
- package/components/header/header.component.scss +0 -171
- package/components/header/header.component.spec.ts +0 -22
- package/components/header/header.component.ts +0 -135
- package/components/header/helpers/headerTheme.func.ts +0 -288
- package/components/header/index.ts +0 -1
- package/components/header/models/HeaderTheme.model.ts +0 -9
- package/components/header/ng-package.json +0 -6
- package/components/header/public-api.ts +0 -2
- package/components/header/services/header.service.spec.ts +0 -16
- package/components/header/services/header.service.ts +0 -40
- package/components/header/services/index.ts +0 -1
- package/components/header/services/ng-package.json +0 -6
- package/components/header/services/public-api.ts +0 -1
- package/components/image/image.component.html +0 -9
- package/components/image/image.component.scss +0 -12
- package/components/image/image.component.spec.ts +0 -22
- package/components/image/image.component.ts +0 -43
- package/components/image/index.ts +0 -1
- package/components/image/ng-package.json +0 -6
- package/components/image/public-api.ts +0 -1
- package/components/load-screen/index.ts +0 -1
- package/components/load-screen/load-screen.component.html +0 -128
- package/components/load-screen/load-screen.component.scss +0 -46
- package/components/load-screen/load-screen.component.spec.ts +0 -27
- package/components/load-screen/load-screen.component.ts +0 -18
- package/components/load-screen/ng-package.json +0 -6
- package/components/load-screen/public-api.ts +0 -1
- package/components/modal/index.ts +0 -1
- package/components/modal/modal.component.html +0 -12
- package/components/modal/modal.component.scss +0 -34
- package/components/modal/modal.component.spec.ts +0 -22
- package/components/modal/modal.component.ts +0 -74
- package/components/modal/ng-package.json +0 -6
- package/components/modal/public-api.ts +0 -1
- package/components/modal-drawer/index.ts +0 -1
- package/components/modal-drawer/modal-drawer.component.html +0 -22
- package/components/modal-drawer/modal-drawer.component.scss +0 -250
- package/components/modal-drawer/modal-drawer.component.spec.ts +0 -22
- package/components/modal-drawer/modal-drawer.component.ts +0 -148
- package/components/modal-drawer/ng-package.json +0 -6
- package/components/modal-drawer/public-api.ts +0 -1
- package/components/overlay/index.ts +0 -1
- package/components/overlay/ng-package.json +0 -6
- package/components/overlay/overlay.component.html +0 -1
- package/components/overlay/overlay.component.scss +0 -13
- package/components/overlay/overlay.component.spec.ts +0 -22
- package/components/overlay/overlay.component.ts +0 -15
- package/components/overlay/public-api.ts +0 -1
- package/components/page-header/index.ts +0 -1
- package/components/page-header/ng-package.json +0 -6
- package/components/page-header/page-header.component.html +0 -25
- package/components/page-header/page-header.component.scss +0 -110
- package/components/page-header/page-header.component.spec.ts +0 -22
- package/components/page-header/page-header.component.ts +0 -41
- package/components/page-header/public-api.ts +0 -1
- package/components/page-template-fullcontent/index.ts +0 -1
- package/components/page-template-fullcontent/ng-package.json +0 -6
- package/components/page-template-fullcontent/page-template-fullcontent.component.html +0 -37
- package/components/page-template-fullcontent/page-template-fullcontent.component.scss +0 -41
- package/components/page-template-fullcontent/page-template-fullcontent.component.ts +0 -22
- package/components/page-template-fullcontent/public-api.ts +0 -1
- package/components/page-template-sidebar/index.ts +0 -1
- package/components/page-template-sidebar/ng-package.json +0 -6
- package/components/page-template-sidebar/page-template-sidebar.component.html +0 -50
- package/components/page-template-sidebar/page-template-sidebar.component.scss +0 -80
- package/components/page-template-sidebar/page-template-sidebar.component.spec.ts +0 -22
- package/components/page-template-sidebar/page-template-sidebar.component.ts +0 -25
- package/components/page-template-sidebar/public-api.ts +0 -1
- package/components/pagination/index.ts +0 -1
- package/components/pagination/ng-package.json +0 -6
- package/components/pagination/pagination.component.html +0 -53
- package/components/pagination/pagination.component.scss +0 -124
- package/components/pagination/pagination.component.spec.ts +0 -22
- package/components/pagination/pagination.component.ts +0 -48
- package/components/pagination/public-api.ts +0 -1
- package/components/search/index.ts +0 -1
- package/components/search/ng-package.json +0 -6
- package/components/search/public-api.ts +0 -1
- package/components/search/search.component.html +0 -32
- package/components/search/search.component.scss +0 -59
- package/components/search/search.component.spec.ts +0 -22
- package/components/search/search.component.ts +0 -122
- package/components/section-navigation/index.ts +0 -1
- package/components/section-navigation/ng-package.json +0 -6
- package/components/section-navigation/public-api.ts +0 -1
- package/components/section-navigation/section-navigation.component.html +0 -23
- package/components/section-navigation/section-navigation.component.scss +0 -50
- package/components/section-navigation/section-navigation.component.spec.ts +0 -22
- package/components/section-navigation/section-navigation.component.ts +0 -159
- package/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.html +0 -8
- package/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.scss +0 -56
- package/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.spec.ts +0 -22
- package/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.ts +0 -31
- package/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.html +0 -11
- package/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.scss +0 -0
- package/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.spec.ts +0 -22
- package/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.ts +0 -23
- package/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.html +0 -10
- package/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.scss +0 -54
- package/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.spec.ts +0 -22
- package/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.ts +0 -30
- package/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.html +0 -1
- package/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.scss +0 -11
- package/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.spec.ts +0 -22
- package/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.ts +0 -9
- package/components/side-ctas/index.ts +0 -1
- package/components/side-ctas/models/SideCta.model.ts +0 -5
- package/components/side-ctas/ng-package.json +0 -6
- package/components/side-ctas/public-api.ts +0 -6
- package/components/side-ctas/side-ctas.component.html +0 -28
- package/components/side-ctas/side-ctas.component.scss +0 -62
- package/components/side-ctas/side-ctas.component.spec.ts +0 -22
- package/components/side-ctas/side-ctas.component.ts +0 -17
- package/components/sidebar-navigation/index.ts +0 -1
- package/components/sidebar-navigation/ng-package.json +0 -6
- package/components/sidebar-navigation/public-api.ts +0 -1
- package/components/sidebar-navigation/sidebar-navigation.component.html +0 -42
- package/components/sidebar-navigation/sidebar-navigation.component.scss +0 -25
- package/components/sidebar-navigation/sidebar-navigation.component.ts +0 -122
- package/components/sticky-navigation/index.ts +0 -1
- package/components/sticky-navigation/ng-package.json +0 -6
- package/components/sticky-navigation/public-api.ts +0 -1
- package/components/sticky-navigation/sticky-navigation.component.html +0 -39
- package/components/sticky-navigation/sticky-navigation.component.scss +0 -48
- package/components/sticky-navigation/sticky-navigation.component.ts +0 -134
- package/components/whatsapp/index.ts +0 -1
- package/components/whatsapp/ng-package.json +0 -6
- package/components/whatsapp/public-api.ts +0 -1
- package/components/whatsapp/whatsapp.component.html +0 -23
- package/components/whatsapp/whatsapp.component.scss +0 -113
- package/components/whatsapp/whatsapp.component.spec.ts +0 -22
- package/components/whatsapp/whatsapp.component.ts +0 -40
- package/core/directives/rdsite-link/rdsite-link.directive.spec.ts +0 -8
- package/core/directives/rdsite-link/rdsite-link.directive.ts +0 -200
- package/core/directives/rdsite-phone-modal/rdsite-phone-modal.directive.spec.ts +0 -8
- package/core/directives/rdsite-phone-modal/rdsite-phone-modal.directive.ts +0 -41
- package/core/enums/RdsiteModalComponentStyle.enum.ts +0 -13
- package/core/enums/RdsiteModalDrawerComponentStyle.enum.ts +0 -7
- package/core/helpers/check-safari-agent.func.ts +0 -6
- package/core/helpers/djb2Hash.func.ts +0 -18
- package/core/helpers/executeWithRetry.func.ts +0 -25
- package/core/helpers/formatPhone.func.ts +0 -22
- package/core/helpers/getCircularReplacer.func.ts +0 -45
- package/core/helpers/getSiteUrl.func.ts +0 -7
- package/core/helpers/removeHtmlTags.func.ts +0 -6
- package/core/helpers/toQueryParams.func.ts +0 -11
- package/core/index.ts +0 -1
- package/core/interceptors/error.interceptor.ts +0 -39
- package/core/interceptors/log.interceptor.ts +0 -35
- package/core/interceptors/transfer-state-url.interceptor.ts +0 -137
- package/core/models/algolia-search-api.model.ts +0 -213
- package/core/models/breadcrumbs/breadcrumbs-items.model.ts +0 -10
- package/core/models/breadcrumbs/breadcrumbs-json-item.model.ts +0 -8
- package/core/models/centro-estudos-backend.model.ts +0 -8
- package/core/models/centro-medico.model.ts +0 -33
- package/core/models/content-banner.model.ts +0 -7
- package/core/models/cta-wrapper.model.ts +0 -9
- package/core/models/doenca-backend.model.ts +0 -27
- package/core/models/doenca-taxonomy.model.ts +0 -21
- package/core/models/especialidade-backend.model.ts +0 -25
- package/core/models/exame-backend.model.ts +0 -26
- package/core/models/filters/filter-planos-convenios.model.ts +0 -34
- package/core/models/filters/filter-section.type.ts +0 -18
- package/core/models/filters/filter-sections.model.ts +0 -66
- package/core/models/images/rdsite-image.model.ts +0 -5
- package/core/models/index.ts +0 -1
- package/core/models/medico-cv.model.ts +0 -10
- package/core/models/menu-de-unidade.model.ts +0 -16
- package/core/models/menu-item.model.ts +0 -71
- package/core/models/privacy-tools/privacy-tools.model.ts +0 -9
- package/core/models/rdsl-cobertura.model.ts +0 -72
- package/core/models/rdsl-convenio.model.ts +0 -18
- package/core/models/rdsl-especialidade.model.ts +0 -36
- package/core/models/rdsl-planos.model.ts +0 -14
- package/core/models/rdsl-post-category.model.ts +0 -8
- package/core/models/rdsl-unidade.model.ts +0 -52
- package/core/models/section-navigation.model.ts +0 -10
- package/core/models/seo/seo-data.model.ts +0 -11
- package/core/models/seo/seo-unidade.model.ts +0 -6
- package/core/models/social-meta-properties.model.ts +0 -9
- package/core/models/wordpress/WpEnvelopeResponse.model.ts +0 -12
- package/core/models/wordpress/WpHttpParams.model.ts +0 -5
- package/core/models/wordpress/WpQueryParams.model.ts +0 -32
- package/core/models/wordpress/WpResponse.model.ts +0 -35
- package/core/models/wordpress/category/wpCategory.model.ts +0 -15
- package/core/models/wordpress/category/wpCategoryRequestParams.model.ts +0 -9
- package/core/models/wordpress/flexiblecontent/flexiblecontent.model.ts +0 -4
- package/core/models/wordpress/general/content.model.ts +0 -4
- package/core/models/wordpress/general/excerpt.model.ts +0 -4
- package/core/models/wordpress/general/featuredMedia.model.ts +0 -27
- package/core/models/wordpress/general/guid.model.ts +0 -3
- package/core/models/wordpress/general/index.ts +0 -10
- package/core/models/wordpress/general/links.model.ts +0 -47
- package/core/models/wordpress/general/meta.model.ts +0 -3
- package/core/models/wordpress/general/title.model.ts +0 -3
- package/core/models/wordpress/general/yoastData.model.ts +0 -4
- package/core/models/wordpress/general/yoastHeadJson.model.ts +0 -55
- package/core/models/wordpress/general/yoastMeta.model.ts +0 -5
- package/core/models/wordpress/page/page.model.ts +0 -11
- package/core/models/wordpress/page/pageRequestParams.model.ts +0 -11
- package/core/models/wordpress/post/post.model.ts +0 -37
- package/core/models/wordpress/post/postRequestParams.model.ts +0 -23
- package/core/models/wordpress/unidade/wp-unidade-onco.model.ts +0 -62
- package/core/models/wordpress/unidade/wp-unidade-site-detalhe.model.ts +0 -173
- package/core/models/wordpress/unidade/wp-unidade-site.model.ts +0 -48
- package/core/ng-package.json +0 -6
- package/core/public-api.ts +0 -79
- package/core/services/error/error.service.spec.ts +0 -16
- package/core/services/error/error.service.ts +0 -10
- package/core/services/geoloc/geoloc.service.spec.ts +0 -16
- package/core/services/geoloc/geoloc.service.ts +0 -225
- package/core/services/http-client/http-client.service.spec.ts +0 -16
- package/core/services/http-client/http-client.service.ts +0 -49
- package/core/services/log/log.service.spec.ts +0 -16
- package/core/services/log/log.service.ts +0 -36
- package/core/services/mapbox/mapbox.service.spec.ts +0 -16
- package/core/services/mapbox/mapbox.service.ts +0 -84
- package/core/services/modal/modal.service.spec.ts +0 -16
- package/core/services/modal/modal.service.ts +0 -124
- package/core/services/modal-drawer/modal-drawer.service.spec.ts +0 -16
- package/core/services/modal-drawer/modal-drawer.service.ts +0 -104
- package/core/services/phone/phone.service.spec.ts +0 -16
- package/core/services/phone/phone.service.ts +0 -19
- package/core/services/privacy-tools/privacy-tools.service.spec.ts +0 -16
- package/core/services/privacy-tools/privacy-tools.service.ts +0 -96
- package/core/services/seo/seo.service.spec.ts +0 -16
- package/core/services/seo/seo.service.ts +0 -537
- package/core/services/server-response/server-response.service.spec.ts +0 -16
- package/core/services/server-response/server-response.service.ts +0 -107
- package/core/services/site-back-end/site-back-end.service.spec.ts +0 -16
- package/core/services/site-back-end/site-back-end.service.ts +0 -48
- package/core/services/ssr-response/ssr-response.service.spec.ts +0 -16
- package/core/services/ssr-response/ssr-response.service.ts +0 -57
- package/core/tokens/LibConfig.ts +0 -64
- package/core/tokens/express.tokens.ts +0 -5
- package/cura/accordion/cura-accordion/cura-accordion.component.html +0 -1
- package/cura/accordion/cura-accordion/cura-accordion.component.scss +0 -7
- package/cura/accordion/cura-accordion/cura-accordion.component.ts +0 -203
- package/cura/accordion/cura-accordion-item/cura-accordion-item.component.html +0 -20
- package/cura/accordion/cura-accordion-item/cura-accordion-item.component.scss +0 -139
- package/cura/accordion/cura-accordion-item/cura-accordion-item.component.ts +0 -75
- package/cura/accordion/cura-accordion.definitions.ts +0 -5
- package/cura/accordion/index.ts +0 -1
- package/cura/accordion/ng-package.json +0 -6
- package/cura/accordion/public-api.ts +0 -3
- package/cura/api/CuraConfig.ts +0 -5
- package/cura/api/cura-api.service.spec.ts +0 -138
- package/cura/api/cura-api.service.ts +0 -104
- package/cura/api/cura-api.types.ts +0 -79
- package/cura/api/index.ts +0 -1
- package/cura/api/modules/cura-theme-breakpoints.module.ts +0 -22
- package/cura/api/modules/cura-theme-colors.module.ts +0 -89
- package/cura/api/modules/cura-theme-fonts.module.ts +0 -54
- package/cura/api/modules/cura-theme-spacing.module.ts +0 -23
- package/cura/api/modules/cura-theme.module.ts +0 -116
- package/cura/api/ng-package.json +0 -6
- package/cura/api/public-api.ts +0 -11
- package/cura/api/theme-presets/static.ts +0 -70
- package/cura/api/theme-presets/theme-default.ts +0 -49
- package/cura/api/theme-presets/theme-maternidade-star.ts +0 -49
- package/cura/api/theme-presets/theme-presets.ts +0 -13
- package/cura/api/theme-presets/theme-star.ts +0 -49
- package/cura/badges/cura-badge-counter/cura-badge-counter.component.html +0 -7
- package/cura/badges/cura-badge-counter/cura-badge-counter.component.scss +0 -41
- package/cura/badges/cura-badge-counter/cura-badge-counter.component.ts +0 -94
- package/cura/badges/cura-badge-counter/index.ts +0 -1
- package/cura/badges/cura-badge-counter/ng-package.json +0 -6
- package/cura/badges/cura-badge-counter/public-api.ts +0 -1
- package/cura/badges/cura-badge-distance/cura-badge-distance.component.html +0 -8
- package/cura/badges/cura-badge-distance/cura-badge-distance.component.scss +0 -16
- package/cura/badges/cura-badge-distance/cura-badge-distance.component.ts +0 -53
- package/cura/badges/cura-badge-distance/index.ts +0 -1
- package/cura/badges/cura-badge-distance/ng-package.json +0 -6
- package/cura/badges/cura-badge-distance/public-api.ts +0 -1
- package/cura/badges/cura-badge-dot/cura-badge-dot.component.html +0 -1
- package/cura/badges/cura-badge-dot/cura-badge-dot.component.scss +0 -50
- package/cura/badges/cura-badge-dot/cura-badge-dot.component.ts +0 -69
- package/cura/badges/cura-badge-dot/index.ts +0 -1
- package/cura/badges/cura-badge-dot/ng-package.json +0 -6
- package/cura/badges/cura-badge-dot/public-api.ts +0 -1
- package/cura/badges/cura-badge-pill/cura-badge-pill.component.html +0 -8
- package/cura/badges/cura-badge-pill/cura-badge-pill.component.scss +0 -74
- package/cura/badges/cura-badge-pill/cura-badge-pill.component.ts +0 -105
- package/cura/badges/cura-badge-pill/index.ts +0 -1
- package/cura/badges/cura-badge-pill/ng-package.json +0 -6
- package/cura/badges/cura-badge-pill/public-api.ts +0 -1
- package/cura/badges/cura-badges.definitions.ts +0 -5
- package/cura/badges/index.ts +0 -1
- package/cura/badges/ng-package.json +0 -6
- package/cura/badges/public-api.ts +0 -1
- package/cura/buttons/cura-button/cura-button.component.html +0 -47
- package/cura/buttons/cura-button/cura-button.component.scss +0 -66
- package/cura/buttons/cura-button/cura-button.component.spec.ts +0 -105
- package/cura/buttons/cura-button/cura-button.component.ts +0 -184
- package/cura/buttons/cura-button/index.ts +0 -1
- package/cura/buttons/cura-button/ng-package.json +0 -6
- package/cura/buttons/cura-button/public-api.ts +0 -1
- package/cura/buttons/cura-button-outline/cura-button-outline.component.html +0 -47
- package/cura/buttons/cura-button-outline/cura-button-outline.component.scss +0 -55
- package/cura/buttons/cura-button-outline/cura-button-outline.component.spec.ts +0 -57
- package/cura/buttons/cura-button-outline/cura-button-outline.component.ts +0 -184
- package/cura/buttons/cura-button-outline/index.ts +0 -1
- package/cura/buttons/cura-button-outline/ng-package.json +0 -6
- package/cura/buttons/cura-button-outline/public-api.ts +0 -1
- package/cura/buttons/cura-button-select/cura-button-select.component.html +0 -27
- package/cura/buttons/cura-button-select/cura-button-select.component.scss +0 -76
- package/cura/buttons/cura-button-select/cura-button-select.component.spec.ts +0 -96
- package/cura/buttons/cura-button-select/cura-button-select.component.ts +0 -140
- package/cura/buttons/cura-button-select/index.ts +0 -1
- package/cura/buttons/cura-button-select/ng-package.json +0 -6
- package/cura/buttons/cura-button-select/public-api.ts +0 -1
- package/cura/buttons/cura-button-transparent/cura-button-transparent.component.html +0 -47
- package/cura/buttons/cura-button-transparent/cura-button-transparent.component.scss +0 -29
- package/cura/buttons/cura-button-transparent/cura-button-transparent.component.spec.ts +0 -63
- package/cura/buttons/cura-button-transparent/cura-button-transparent.component.ts +0 -172
- package/cura/buttons/cura-button-transparent/index.ts +0 -1
- package/cura/buttons/cura-button-transparent/ng-package.json +0 -6
- package/cura/buttons/cura-button-transparent/public-api.ts +0 -1
- package/cura/buttons/cura-button.definitions.ts +0 -13
- package/cura/buttons/index.ts +0 -1
- package/cura/buttons/ng-package.json +0 -6
- package/cura/buttons/public-api.ts +0 -1
- package/cura/cards/cura-card/cura-card.component.html +0 -11
- package/cura/cards/cura-card/cura-card.component.scss +0 -167
- package/cura/cards/cura-card/cura-card.component.ts +0 -89
- package/cura/cards/cura-card/cura-cards.definitions.ts +0 -5
- package/cura/cards/cura-card/index.ts +0 -1
- package/cura/cards/cura-card/ng-package.json +0 -6
- package/cura/cards/cura-card/public-api.ts +0 -1
- package/cura/feedback/cura-alert/cura-alert.component.html +0 -21
- package/cura/feedback/cura-alert/cura-alert.component.scss +0 -32
- package/cura/feedback/cura-alert/cura-alert.component.ts +0 -94
- package/cura/feedback/cura-alert/cura-alert.definitions.ts +0 -15
- package/cura/feedback/cura-alert/index.ts +0 -1
- package/cura/feedback/cura-alert/ng-package.json +0 -6
- package/cura/feedback/cura-alert/public-api.ts +0 -2
- package/cura/feedback/cura-modal/cura-modal.component.html +0 -20
- package/cura/feedback/cura-modal/cura-modal.component.scss +0 -149
- package/cura/feedback/cura-modal/cura-modal.component.ts +0 -112
- package/cura/feedback/cura-modal/cura-modal.definitions.ts +0 -36
- package/cura/feedback/cura-modal/index.ts +0 -1
- package/cura/feedback/cura-modal/ng-package.json +0 -6
- package/cura/feedback/cura-modal/public-api.ts +0 -2
- package/cura/feedback/cura-toast/cura-toast.component.html +0 -23
- package/cura/feedback/cura-toast/cura-toast.component.scss +0 -96
- package/cura/feedback/cura-toast/cura-toast.component.ts +0 -213
- package/cura/feedback/cura-toast/cura-toast.definitions.ts +0 -22
- package/cura/feedback/cura-toast/index.ts +0 -1
- package/cura/feedback/cura-toast/ng-package.json +0 -6
- package/cura/feedback/cura-toast/public-api.ts +0 -2
- package/cura/forms/cura-checkbox/cura-checkbox.component.html +0 -35
- package/cura/forms/cura-checkbox/cura-checkbox.component.scss +0 -219
- package/cura/forms/cura-checkbox/cura-checkbox.component.ts +0 -284
- package/cura/forms/cura-checkbox/cura-checkbox.definitions.ts +0 -44
- package/cura/forms/cura-checkbox/index.ts +0 -1
- package/cura/forms/cura-checkbox/ng-package.json +0 -6
- package/cura/forms/cura-checkbox/public-api.ts +0 -2
- package/cura/forms/cura-forms.definitions.ts +0 -18
- package/cura/forms/cura-input-text/cura-input-text.component.html +0 -65
- package/cura/forms/cura-input-text/cura-input-text.component.scss +0 -165
- package/cura/forms/cura-input-text/cura-input-text.component.ts +0 -621
- package/cura/forms/cura-input-text/cura-input-text.definitions.ts +0 -104
- package/cura/forms/cura-input-text/index.ts +0 -1
- package/cura/forms/cura-input-text/ng-package.json +0 -6
- package/cura/forms/cura-input-text/public-api.ts +0 -2
- package/cura/forms/cura-label/cura-label.component.html +0 -3
- package/cura/forms/cura-label/cura-label.component.scss +0 -68
- package/cura/forms/cura-label/cura-label.component.ts +0 -93
- package/cura/forms/cura-label/index.ts +0 -1
- package/cura/forms/cura-label/ng-package.json +0 -6
- package/cura/forms/cura-label/public-api.ts +0 -1
- package/cura/forms/cura-radio/cura-radio.component.html +0 -28
- package/cura/forms/cura-radio/cura-radio.component.scss +0 -232
- package/cura/forms/cura-radio/cura-radio.component.ts +0 -261
- package/cura/forms/cura-radio/cura-radio.definitions.ts +0 -46
- package/cura/forms/cura-radio/index.ts +0 -1
- package/cura/forms/cura-radio/ng-package.json +0 -6
- package/cura/forms/cura-radio/public-api.ts +0 -2
- package/cura/forms/cura-select/cura-select.component.html +0 -88
- package/cura/forms/cura-select/cura-select.component.scss +0 -112
- package/cura/forms/cura-select/cura-select.component.ts +0 -459
- package/cura/forms/cura-select/cura-select.definitions.ts +0 -34
- package/cura/forms/cura-select/index.ts +0 -1
- package/cura/forms/cura-select/ng-package.json +0 -6
- package/cura/forms/cura-select/public-api.ts +0 -2
- package/cura/forms/cura-select-option/cura-select-option.component.html +0 -9
- package/cura/forms/cura-select-option/cura-select-option.component.scss +0 -33
- package/cura/forms/cura-select-option/cura-select-option.component.ts +0 -93
- package/cura/forms/cura-select-option/cura-select-option.definitions.ts +0 -12
- package/cura/forms/cura-select-option/index.ts +0 -1
- package/cura/forms/cura-select-option/ng-package.json +0 -6
- package/cura/forms/cura-select-option/public-api.ts +0 -2
- package/cura/forms/cura-select-state/cura-select-state.component.html +0 -14
- package/cura/forms/cura-select-state/cura-select-state.component.ts +0 -125
- package/cura/forms/cura-select-state/cura-select-state.definitions.ts +0 -19
- package/cura/forms/cura-select-state/index.ts +0 -1
- package/cura/forms/cura-select-state/ng-package.json +0 -6
- package/cura/forms/cura-select-state/public-api.ts +0 -2
- package/cura/forms/cura-switch/cura-switch.component.html +0 -25
- package/cura/forms/cura-switch/cura-switch.component.scss +0 -134
- package/cura/forms/cura-switch/cura-switch.component.ts +0 -196
- package/cura/forms/cura-switch/cura-switch.definitions.ts +0 -35
- package/cura/forms/cura-switch/index.ts +0 -1
- package/cura/forms/cura-switch/ng-package.json +0 -6
- package/cura/forms/cura-switch/public-api.ts +0 -2
- package/cura/forms/cura-textarea/cura-textarea.component.html +0 -44
- package/cura/forms/cura-textarea/cura-textarea.component.scss +0 -173
- package/cura/forms/cura-textarea/cura-textarea.component.ts +0 -226
- package/cura/forms/cura-textarea/cura-textarea.definitions.ts +0 -24
- package/cura/forms/cura-textarea/index.ts +0 -1
- package/cura/forms/cura-textarea/ng-package.json +0 -6
- package/cura/forms/cura-textarea/public-api.ts +0 -2
- package/cura/forms/index.ts +0 -1
- package/cura/forms/ng-package.json +0 -6
- package/cura/forms/public-api.ts +0 -1
- package/cura/icons/cura-icon/cura-icon.component.html +0 -3
- package/cura/icons/cura-icon/cura-icon.component.scss +0 -14
- package/cura/icons/cura-icon/cura-icon.component.spec.ts +0 -89
- package/cura/icons/cura-icon/cura-icon.component.ts +0 -79
- package/cura/icons/cura-icon/cura-icon.definitions.ts +0 -20
- package/cura/icons/cura-icon/index.ts +0 -1
- package/cura/icons/cura-icon/ng-package.json +0 -6
- package/cura/icons/cura-icon/public-api.ts +0 -2
- package/cura/loaders/cura-loader-bar/cura-loader-bar.component.html +0 -3
- package/cura/loaders/cura-loader-bar/cura-loader-bar.component.scss +0 -23
- package/cura/loaders/cura-loader-bar/cura-loader-bar.component.ts +0 -37
- package/cura/loaders/cura-loader-bar/index.ts +0 -1
- package/cura/loaders/cura-loader-bar/ng-package.json +0 -6
- package/cura/loaders/cura-loader-bar/public-api.ts +0 -1
- package/cura/loaders/cura-loader-circle/cura-loader-circle.component.html +0 -12
- package/cura/loaders/cura-loader-circle/cura-loader-circle.component.scss +0 -39
- package/cura/loaders/cura-loader-circle/cura-loader-circle.component.ts +0 -45
- package/cura/loaders/cura-loader-circle/index.ts +0 -1
- package/cura/loaders/cura-loader-circle/ng-package.json +0 -6
- package/cura/loaders/cura-loader-circle/public-api.ts +0 -1
- package/cura/scss/mixins/buttons.scss +0 -244
- package/cura/scss/mixins/forms.scss +0 -298
- package/cura/scss/mixins/responsive.scss +0 -69
- package/cura/scss/mixins/shadows.scss +0 -71
- package/cura/scss/mixins/spacing.scss +0 -33
- package/cura/scss/mixins/text.scss +0 -11
- package/cura/texts/cura-display/cura-display.component.html +0 -41
- package/cura/texts/cura-display/cura-display.component.scss +0 -91
- package/cura/texts/cura-display/cura-display.component.ts +0 -85
- package/cura/texts/cura-display/index.ts +0 -1
- package/cura/texts/cura-display/ng-package.json +0 -6
- package/cura/texts/cura-display/public-api.ts +0 -1
- package/cura/texts/cura-heading/cura-heading.component.html +0 -41
- package/cura/texts/cura-heading/cura-heading.component.scss +0 -160
- package/cura/texts/cura-heading/cura-heading.component.ts +0 -111
- package/cura/texts/cura-heading/index.ts +0 -1
- package/cura/texts/cura-heading/ng-package.json +0 -6
- package/cura/texts/cura-heading/public-api.ts +0 -1
- package/cura/texts/cura-paragraph/cura-paragraph.component.html +0 -3
- package/cura/texts/cura-paragraph/cura-paragraph.component.scss +0 -130
- package/cura/texts/cura-paragraph/cura-paragraph.component.ts +0 -94
- package/cura/texts/cura-paragraph/index.ts +0 -1
- package/cura/texts/cura-paragraph/ng-package.json +0 -6
- package/cura/texts/cura-paragraph/public-api.ts +0 -1
- package/cura/texts/cura-texts.definitions.ts +0 -9
- package/cura/texts/index.ts +0 -1
- package/cura/texts/ng-package.json +0 -6
- package/cura/texts/public-api.ts +0 -1
- package/enums/EnumError.enum.ts +0 -4
- package/enums/EnumThemes.enum.ts +0 -8
- package/enums/Estados.enum.ts +0 -29
- package/enums/IconCuraDefaultType.enum.ts +0 -119
- package/enums/ImageMimeType.enum.ts +0 -5
- package/enums/UnidadeCoverageType.enum.ts +0 -5
- package/enums/index.ts +0 -1
- package/enums/ng-package.json +0 -6
- package/enums/public-api.ts +0 -6
- package/ng-package.json +0 -8
- package/services/algolia/algolia.service.spec.ts +0 -16
- package/services/algolia/algolia.service.ts +0 -36
- package/services/algolia/index.ts +0 -1
- package/services/algolia/ng-package.json +0 -6
- package/services/algolia/public-api.ts +0 -1
- package/services/algolia-search-api/algolia-search-api.service.spec.ts +0 -16
- package/services/algolia-search-api/algolia-search-api.service.ts +0 -72
- package/services/algolia-search-api/index.ts +0 -1
- package/services/algolia-search-api/ng-package.json +0 -6
- package/services/algolia-search-api/public-api.ts +0 -1
- package/services/ngu-carousel/index.ts +0 -1
- package/services/ngu-carousel/ng-package.json +0 -6
- package/services/ngu-carousel/ngu-carousel.service.spec.ts +0 -16
- package/services/ngu-carousel/ngu-carousel.service.ts +0 -80
- package/services/ngu-carousel/public-api.ts +0 -1
- package/services/ssr-loading/index.ts +0 -1
- package/services/ssr-loading/ng-package.json +0 -6
- package/services/ssr-loading/public-api.ts +0 -1
- package/services/ssr-loading/ssr-loading.service.spec.ts +0 -16
- package/services/ssr-loading/ssr-loading.service.ts +0 -41
- package/services/transfer-state/index.ts +0 -1
- package/services/transfer-state/ng-package.json +0 -6
- package/services/transfer-state/public-api.ts +0 -1
- package/services/transfer-state/transfer-state.service.spec.ts +0 -16
- package/services/transfer-state/transfer-state.service.ts +0 -38
- package/services/youtube/index.ts +0 -1
- package/services/youtube/ng-package.json +0 -6
- package/services/youtube/public-api.ts +0 -1
- package/services/youtube/youtube.service.spec.ts +0 -16
- package/services/youtube/youtube.service.ts +0 -28
- package/shared/directives/rdsite-click-outside/rdsite-click-outside.directive.spec.ts +0 -8
- package/shared/directives/rdsite-click-outside/rdsite-click-outside.directive.ts +0 -18
- package/shared/helpers/clean-text.func.ts +0 -15
- package/shared/helpers/mediaQueries.ts +0 -11
- package/shared/helpers/removeDuplicateObjectsFromArray.func.ts +0 -5
- package/shared/helpers/removeDuplicateValuesFromArray.func.ts +0 -5
- package/shared/helpers/stringToSlug.func.ts +0 -32
- package/shared/index.ts +0 -1
- package/shared/ng-package.json +0 -6
- package/shared/pipes/phone/phone.pipe.spec.ts +0 -8
- package/shared/pipes/phone/phone.pipe.ts +0 -11
- package/shared/public-api.ts +0 -9
- package/src/public-api.ts +0 -5
- package/styles/_mixins.scss +0 -49
- package/styles/_utilities.scss +0 -22
- package/tsconfig.lib.json +0 -13
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rededor-site-front-end-lib-core.mjs","sources":["../../../projects/site-front-end-lib/core/tokens/LibConfig.ts","../../../projects/site-front-end-lib/core/tokens/express.tokens.ts","../../../projects/site-front-end-lib/core/services/phone/phone.service.ts","../../../projects/site-front-end-lib/core/helpers/executeWithRetry.func.ts","../../../projects/site-front-end-lib/core/services/modal/modal.service.ts","../../../projects/site-front-end-lib/core/enums/RdsiteModalComponentStyle.enum.ts","../../../projects/site-front-end-lib/core/helpers/formatPhone.func.ts","../../../projects/site-front-end-lib/core/directives/rdsite-phone-modal/rdsite-phone-modal.directive.ts","../../../projects/site-front-end-lib/core/directives/rdsite-link/rdsite-link.directive.ts","../../../projects/site-front-end-lib/core/enums/RdsiteModalDrawerComponentStyle.enum.ts","../../../projects/site-front-end-lib/core/helpers/getSiteUrl.func.ts","../../../projects/site-front-end-lib/core/helpers/removeHtmlTags.func.ts","../../../projects/site-front-end-lib/core/helpers/check-safari-agent.func.ts","../../../projects/site-front-end-lib/core/helpers/getCircularReplacer.func.ts","../../../projects/site-front-end-lib/core/helpers/djb2Hash.func.ts","../../../projects/site-front-end-lib/core/services/log/log.service.ts","../../../projects/site-front-end-lib/core/helpers/toQueryParams.func.ts","../../../projects/site-front-end-lib/core/services/http-client/http-client.service.ts","../../../projects/site-front-end-lib/core/services/site-back-end/site-back-end.service.ts","../../../projects/site-front-end-lib/core/interceptors/error.interceptor.ts","../../../projects/site-front-end-lib/core/interceptors/log.interceptor.ts","../../../projects/site-front-end-lib/core/interceptors/transfer-state-url.interceptor.ts","../../../projects/site-front-end-lib/core/models/doenca-taxonomy.model.ts","../../../projects/site-front-end-lib/core/models/filters/filter-sections.model.ts","../../../projects/site-front-end-lib/core/services/error/error.service.ts","../../../projects/site-front-end-lib/core/services/mapbox/mapbox.service.ts","../../../projects/site-front-end-lib/core/services/geoloc/geoloc.service.ts","../../../projects/site-front-end-lib/core/services/modal-drawer/modal-drawer.service.ts","../../../projects/site-front-end-lib/core/services/privacy-tools/privacy-tools.service.ts","../../../projects/site-front-end-lib/core/services/seo/seo.service.ts","../../../projects/site-front-end-lib/core/services/server-response/server-response.service.ts","../../../projects/site-front-end-lib/core/services/ssr-response/ssr-response.service.ts","../../../projects/site-front-end-lib/core/rededor-site-front-end-lib-core.ts"],"sourcesContent":["import { ElementRef, InjectionToken } from '@angular/core';\n\nexport interface LibConfig {\n production: boolean;\n environmentName: string;\n siteProject: string;\n server: boolean;\n siteName: string;\n siteUrl: string;\n siteSufix?: string;\n skipDuplicationSufixRule: boolean;\n client_id: string;\n xOriginApplication: string;\n searchApiEnv: string;\n fallbackImgSrc: string;\n\n // Cura iconset\n iconsetDefaultList: string[];\n\n // site-back-end (SNF)\n siteApi: {\n auth: {\n user: string;\n password: string;\n };\n base: string;\n baseInternal: string;\n recaptcha: string;\n centroEstudos: string;\n };\n\n // Algolia Search\n algoliaConfig: {\n id: string;\n key: string;\n };\n\n // Wordpress\n wpUrl: string;\n\n // SEO\n keywords: string;\n logoPath?: string;\n\n // Mapbox\n mapboxAccessToken: string;\n mapboxSSRAccessToken: string;\n\n // rdsitelink custom anchor adjustment\n customAnchorAdjustment?: (document: Document) => number;\n customPhoneModalCondition?: (element: ElementRef<any>) => boolean;\n customInternalLinkNavigation?: (noBaseHref: string) => boolean;\n\n // rdsitelink navigation behavior\n forcePageReload?: boolean;\n\n // TransferState configuration\n transferState?: {\n includeHeaders?: string[];\n };\n}\n\n// Configura a lib com informações especificas de cada projeto.\nexport const LIB_CONFIG = new InjectionToken<LibConfig>('libConfig');\n","import { InjectionToken } from '@angular/core';\nimport type { Request, Response } from 'express';\n\nexport const REQUEST: InjectionToken<Request> = new InjectionToken<Request>('REQUEST');\nexport const RESPONSE: InjectionToken<Response> = new InjectionToken<Response>('RESPONSE');\n","import { Injectable, DOCUMENT, inject } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PhoneService {\n private document = inject<Document>(DOCUMENT);\n\n private telRegex = /tel:/;\n\n public phoneModalIsAllowed: boolean = true; // variavel utilizada para permitir/bloquear o modal de telefone\n\n /** Verifica se o 'href' é de telefone e se a janela está em tamanho desktop */\n public isPhoneModal(href: string) {\n const width = this.document.defaultView?.innerWidth ?? 0;\n const SMALL_BREAKPOINT = 718;\n return this.telRegex.test(href) && width > SMALL_BREAKPOINT;\n }\n}\n","/**\n * Executa uma função recursivamente até que uma condição seja atendida ou atinja o máximo de tentativas\n * @param fn - Função a ser executada quando a condição for atendida\n * @param condition - Função que retorna true quando a condição for satisfeita\n * @param maxTries - Número máximo de tentativas (padrão: 10)\n * @param delay - Delay entre tentativas em ms (padrão: 200)\n * @param currentTry - Contador interno de tentativas (padrão: 0)\n * @param args - Argumentos que serão passados para a função fn\n */\nexport function executeWithRetry<T extends any[]>(\n fn: (...args: T) => void,\n condition: () => boolean,\n maxTries: number = 10,\n delay: number = 200,\n currentTry: number = 0,\n ...args: T\n): void {\n if (!condition() && currentTry < maxTries) {\n setTimeout(() => {\n executeWithRetry(fn, condition, maxTries, delay, currentTry + 1, ...args);\n }, delay);\n } else {\n fn(...args);\n }\n}\n","import { Injectable, signal, TemplateRef } from '@angular/core';\nimport { RdsiteModalComponentStyle } from '../../enums/RdsiteModalComponentStyle.enum';\nimport { executeWithRetry } from '../../helpers/executeWithRetry.func';\n\nexport abstract class AbstractModalComponent {\n abstract id?: string;\n abstract modalTitle?: string | null;\n abstract modalHeader?: TemplateRef<any> | null;\n abstract modalContent: TemplateRef<any> | null;\n abstract modalContentContext: Record<string, any> | null;\n abstract modalActions?: TemplateRef<any> | null;\n abstract componentStyle?: any;\n abstract modal: HTMLDialogElement;\n abstract open(): void;\n abstract close(): void;\n abstract reset?(): void;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalService {\n reference: AbstractModalComponent | null = null;\n defaultPhoneModal!: TemplateRef<any>;\n\n firstInteraction = signal(false);\n maxTries = 10;\n delay = 200;\n\n open() {\n this.firstInteraction.set(true);\n executeWithRetry(\n () => {\n this.reference?.open();\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setReference(element: AbstractModalComponent) {\n this.reference = element;\n }\n\n setHeader(header: TemplateRef<any>) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.modalHeader = header;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setTitle(title: string) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.modalTitle = title;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setContent(content: TemplateRef<any>, context: Record<string, any> = {}) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.modalContent = content;\n this.reference.modalContentContext = context;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setActions(actions: TemplateRef<any>) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.modalActions = actions;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setStyle(style: RdsiteModalComponentStyle) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.componentStyle = style;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setDefaultPhoneModal(modal: TemplateRef<any>) {\n this.defaultPhoneModal = modal;\n }\n\n close() {\n executeWithRetry(\n () => this.reference?.close(),\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n}\n","export enum RdsiteModalComponentStyle {\n DEFAULT = 'default',\n ALERT = 'alert',\n LIGHT = 'light',\n DOCTORCARD = 'doctor-card',\n HOMESLIDE = 'home-slide',\n BASIC = 'basic',\n SHARING = 'sharing',\n FORMFALLBACK = 'form-fallback',\n FILTER = 'filter',\n FILTERDOENCAS = 'filter-doencas',\n PHOTOGALLERY = 'photo-gallery',\n}\n","export const formatPhone = (phone: string): string => {\n if (!phone) return '';\n\n const cleanPhone = phone.replace(/[^0-9]/gi, '');\n let formatedPhone = '';\n if (cleanPhone.length === 12) {\n formatedPhone = cleanPhone.replace(/(\\d{3})?(\\d{5})?(\\d{4})/, '($1) $2-$3');\n } else if (cleanPhone.length === 11) {\n formatedPhone = cleanPhone.replace(/(\\d{2})?(\\d{5})?(\\d{4})/, '($1) $2-$3');\n } else if (cleanPhone.length === 10) {\n formatedPhone = cleanPhone.replace(/(\\d{2})?(\\d{4})?(\\d{4})/, '($1) $2-$3');\n } else if (cleanPhone.length === 9) {\n formatedPhone = cleanPhone.replace(/(\\d{5})?(\\d{4})/, '$1-$2');\n } else if (cleanPhone.length === 8) {\n formatedPhone = cleanPhone.replace(/(\\d{4})?(\\d{4})/, '$1-$2');\n } else if (cleanPhone.length === 7) {\n formatedPhone = cleanPhone.replace(/(\\d{3})?(\\d{4})/, '$1-$2');\n } else {\n formatedPhone = cleanPhone;\n }\n return formatedPhone;\n};\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, HostListener, inject, model, PLATFORM_ID, TemplateRef } from '@angular/core';\nimport { PhoneService } from '../../services/phone/phone.service';\nimport { ModalService } from '../../services/modal/modal.service';\nimport { RdsiteModalComponentStyle } from '../../enums/RdsiteModalComponentStyle.enum';\nimport { formatPhone } from '../../helpers/formatPhone.func';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[rdsitephonemodal]',\n})\nexport class RdsitePhoneModalDirective {\n private modalService = inject(ModalService);\n private platformId = inject(PLATFORM_ID);\n private element = inject(ElementRef<Element>);\n private phoneService = inject(PhoneService);\n\n rdsitephonemodal = model<TemplateRef<HTMLElement> | null>(null);\n\n private allowedTags = ['A', 'CURA-BUTTON', 'CURA-BUTTON-OUTLINE', 'CURA-BUTTON-TRANSPARENT'];\n\n // Intercepta cliques em telefones e aplica comportamentos diferentes em tamanho desktop.\n @HostListener('click', ['$event'])\n public onClick(event: Event) {\n if (!isPlatformBrowser(this.platformId) || !this.allowedTags.includes(this.element?.nativeElement?.tagName) || !this.phoneService.phoneModalIsAllowed)\n return;\n\n const href = this.element?.nativeElement?.getAttribute('href') ?? '';\n if (this.phoneService.isPhoneModal(href)) {\n this.openPhoneModal(event, href);\n }\n }\n\n public openPhoneModal(event: Event, href: string) {\n event.preventDefault();\n event.stopPropagation();\n this.modalService.setContent(this.rdsitephonemodal() || this.modalService.defaultPhoneModal, { phone: formatPhone(href) });\n this.modalService.setStyle(RdsiteModalComponentStyle.DEFAULT);\n this.modalService.open();\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, HostListener, Inject, Input, PLATFORM_ID, TemplateRef, DOCUMENT, input, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\nimport { PhoneService } from '../../services/phone/phone.service';\nimport { RdsitePhoneModalDirective } from '../rdsite-phone-modal/rdsite-phone-modal.directive';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[rdsitelink]',\n providers: [RdsitePhoneModalDirective],\n})\nexport class RdsiteLinkDirective {\n private router = inject(Router);\n private platformId = inject(PLATFORM_ID);\n private document = inject(DOCUMENT);\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private element = inject(ElementRef<any>);\n private phoneService = inject(PhoneService);\n private rdsitePhoneModalDirective = inject(RdsitePhoneModalDirective);\n private deviceDetectorService = inject(DeviceDetectorService);\n\n anchorAdjustment = input<number | null>(null);\n anchorExtraAdjustment = input<number | null>(null);\n phonemodal = input<TemplateRef<HTMLElement> | null>(null);\n\n private externalRegex = /^http:|https:|tel:|www\\.|mailto:/;\n private telRegex = /tel:/;\n private mailRegex = /mailto:/;\n private siteUrlList = ['rededorsaoluiz', 'rededorlabs'];\n private allowedTags = ['A', 'CURA-BUTTON', 'CURA-BUTTON-OUTLINE', 'CURA-BUTTON-TRANSPARENT'];\n\n @HostListener('click', ['$event'])\n public onClick(event: Event) {\n event.preventDefault();\n if (!isPlatformBrowser(this.platformId) || !this.allowedTags.includes(this.element?.nativeElement?.tagName)) return;\n let href = this.element?.nativeElement?.getAttribute('href') ?? '';\n if (!href) return;\n\n href = this.verifyUtm(href);\n\n if (this.isPhone(href)) {\n this.phoneClicked({\n href,\n event,\n element: this.element,\n phonemodal: this.phonemodal(),\n });\n return;\n }\n\n const isMobile = this.deviceDetectorService.isMobile();\n const deviceInfo = this.deviceDetectorService.getDeviceInfo();\n\n if (this.isMail(href)) {\n const target = isMobile || deviceInfo.browser !== 'Chrome' ? '_self' : '_blank';\n window.open(href, target);\n return;\n }\n\n if (this.isExternalUrl(href)) {\n const target = this.isSiteUrl(href) ? '_self' : '_blank';\n window.open(href, target);\n return;\n }\n\n if (this.isAnchor(href)) {\n this.scrollToAnchor(href);\n return;\n }\n\n this.navigateTo(href);\n }\n\n private verifyUtm(href: string): string {\n if (!href.includes('/paciente')) return href;\n if (isPlatformBrowser(this.platformId) && typeof window !== 'undefined') {\n const currentUrl = new URL(window.location.href);\n const utmParams = Array.from(currentUrl.searchParams.entries()).filter(([key]) => key.startsWith('utm_'));\n\n if (utmParams.length === 0) return href;\n\n const targetUrl = new URL(href);\n utmParams.forEach(([key, value]) => targetUrl.searchParams.set(key, value));\n\n return targetUrl.toString();\n } else {\n return href;\n }\n }\n\n private isPhone(href: string) {\n return this.telRegex.test(href);\n }\n\n private isMail(href: string) {\n return this.mailRegex.test(href);\n }\n\n private phoneClicked(value: { href: string; event: Event; element: ElementRef<any>; phonemodal: TemplateRef<HTMLElement> | null }) {\n const { href, event, element, phonemodal } = value;\n if (this.phoneService.isPhoneModal(href)) {\n this.setPhoneModal(element, phonemodal);\n this.rdsitePhoneModalDirective.openPhoneModal(event, href);\n } else {\n window.open(href, '_self');\n }\n }\n\n private setPhoneModal(element: ElementRef<any>, phonemodal: TemplateRef<HTMLElement> | null) {\n if (!this.phonemodal()) return;\n if (!this.libConfig?.customPhoneModalCondition) {\n this.rdsitePhoneModalDirective.rdsitephonemodal.set(phonemodal);\n return;\n }\n if (this.libConfig?.customPhoneModalCondition(element)) {\n this.rdsitePhoneModalDirective.rdsitephonemodal.set(phonemodal);\n }\n }\n\n private isExternalUrl(href: string) {\n return this.externalRegex.test(href);\n }\n\n private isSiteUrl(href: string) {\n const exception = '/paciente';\n return this.siteUrlList.find((url) => href.includes(url) && !href.includes(exception));\n }\n\n private isAnchor(href: string) {\n return href.includes('#');\n }\n\n private getAnchor(url: string): string {\n const hashIndex = url.indexOf('#');\n return hashIndex !== -1 ? url.substring(hashIndex) : '';\n }\n\n private scrollToAnchor(href: string) {\n if (href === '#') return;\n\n const anchor = this.getAnchor(href);\n\n if (isPlatformBrowser(this.platformId)) {\n const docElement = this.document.documentElement;\n let adjustment = 0;\n\n if (this.libConfig.customAnchorAdjustment) {\n adjustment = this.libConfig.customAnchorAdjustment(this.document);\n }\n\n if (this.anchorAdjustment()) {\n adjustment = this.anchorAdjustment()!;\n }\n\n if (this.anchorExtraAdjustment()) {\n adjustment += this.anchorExtraAdjustment()!;\n }\n\n const bodyTop = this.document?.body?.getBoundingClientRect()?.top ?? 0;\n const hrefTop = this.document?.querySelector<HTMLElement>(anchor)?.getBoundingClientRect()?.top ?? 0;\n const scrollTop = bodyTop * -1 + hrefTop - adjustment;\n docElement.scrollTo({ top: scrollTop, behavior: 'smooth' });\n }\n }\n\n private navigateTo(href: string) {\n const siteBasePath = this.libConfig.siteSufix ?? '';\n const siteBasePathNoSlash = siteBasePath.replace(/\\//g, '');\n let noBaseHref = href;\n if (!this.libConfig?.skipDuplicationSufixRule) {\n if (href.startsWith(siteBasePathNoSlash)) {\n noBaseHref = href.replace(siteBasePathNoSlash, '');\n } else if (href.startsWith(siteBasePath)) {\n noBaseHref = href.replace(siteBasePath, '');\n }\n }\n if (this.libConfig?.customInternalLinkNavigation && this.libConfig.customInternalLinkNavigation(noBaseHref)) {\n return;\n }\n\n const [path, query] = noBaseHref.split('?');\n const queryParams: Record<string, any> = {};\n if (query) {\n const queryArray = query.split('&');\n queryArray.forEach((q) => {\n const arr = q.split('=');\n queryParams[arr[0]] = arr[1];\n });\n }\n // Força reload da pagina\n if (this.libConfig?.forcePageReload) {\n const fullUrl = path + (query ? '?' + query : '');\n window.location.href = fullUrl;\n return;\n }\n\n this.router.navigate([path], { queryParams: queryParams });\n }\n}\n","export enum RdsiteModalDrawerComponentStyle {\n DEFAULT = 'default',\n DRAWERDOCTOR = 'doctor-card',\n FORMFALLBACK = 'form-fallback',\n FILTERDOENCAS = 'filter-doencas',\n PHOTOGALLERY = 'photo-gallery',\n}\n","const getSiteUrl = (siteUrl: string = '', siteSufix: string = ''): string => {\n const baseUrl = siteUrl.endsWith('/') ? siteUrl.substring(0, siteUrl.length - 1) : siteUrl;\n const baseSufix = siteSufix.endsWith('/') ? siteSufix.substring(0, siteSufix.length - 1) : siteSufix;\n return `${baseUrl}${baseSufix}`;\n};\n\nexport { getSiteUrl };\n","function removeHtmlTags(content: string): string {\n content = content.replace(/<.*?>/g, '');\n return content;\n}\n\nexport { removeHtmlTags };\n","const checkSafariAgent = (): boolean => {\n const safariAgent = navigator.userAgent.includes('Safari');\n const chromeAgent = navigator.userAgent.includes('Chrome');\n return !chromeAgent && safariAgent;\n};\nexport { checkSafariAgent };\n","/**\n * Função que retorna um replacer personalizado para o JSON.stringify que resolve problemas de estruturas circulares durante a serialização.\n */\nexport function getCircularReplacer(customOptions?: {\n ignoreKeys?: string[]; // Chaves específicas a serem sempre ignoradas (ex: ['_request', 'parent'])\n maxDepth?: number; // Profundidade máxima de objetos aninhados (opcional)\n}) {\n const seen = new WeakSet();\n const options = {\n ignoreKeys: customOptions?.ignoreKeys || [],\n maxDepth: customOptions?.maxDepth || 100,\n };\n\n let depth = 0;\n\n return (key: string, value: any) => {\n // Ignora chaves específicas configuradas\n if (options.ignoreKeys.includes(key)) {\n return undefined;\n }\n\n // Controle de profundidade (opcional)\n if (key === '') {\n depth = 0; // Reinicia a profundidade na raiz\n } else {\n depth += 1; // Incrementa apenas quando descer na hierarquia\n }\n\n if (depth > options.maxDepth) {\n return typeof value === 'object' ? '[Object]' : value;\n }\n\n // Lida com referências circulares\n if (typeof value === 'object' && value !== null) {\n // Se já vimos este objeto, é uma referência circular\n if (seen.has(value)) {\n return undefined; // Exclui valores circulares\n }\n // Adiciona o objeto ao conjunto de objetos vistos\n seen.add(value);\n }\n\n return value;\n };\n}\n","/**\n * Função de hash djb2 para gerar chaves numéricas únicas\n *\n * @param str - String para gerar hash\n * @returns Número hash único e positivo\n */\nexport const djb2Hash = (str: string): number => {\n let hash = 5381; // Valor inicial do djb2 original\n if (str.length === 0) return hash;\n\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char; // hash * 33 + char\n hash = hash & hash; // Converte para 32bit integer\n }\n\n return Math.abs(hash);\n};\n","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser, Location } from '@angular/common';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\nimport { getSiteUrl } from '../../helpers/getSiteUrl.func';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LogService {\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private platformId = inject(PLATFORM_ID);\n private location = inject(Location);\n\n logMsg(msg: any, label?: string) {\n label = label ? `${label} ` : '';\n if (!isPlatformBrowser(this.platformId) || (isPlatformBrowser(this.platformId) && !this.libConfig?.production)) {\n console.log(`${label}${msg}`);\n }\n }\n\n logLoad(component?: string) {\n this.logMsg(`${this.getPageURL()}${component ? ' - ' + component : ''}`, 'LOAD');\n }\n\n log404(component?: string) {\n this.logMsg(`${this.getPageURL()}${component ? ' - ' + component : ''}`, '404');\n }\n\n log500(component?: string) {\n this.logMsg(`${this.getPageURL()}${component ? ' - ' + component : ''}`, '500');\n }\n\n getPageURL() {\n return `${getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix)}${this.location.path()}`;\n }\n}\n","/**\n * Converte JSON para query string.\n * @param params JSON\n */\nexport function toQueryParams(params: any): string {\n return params\n ? `?${Object.keys(params)\n .map((key) => key + '=' + params[key])\n .join('&')}`\n : '';\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { Observable } from 'rxjs';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\n\n/* Adiciona os Headers necessários para funcionamento do site back-end */\n@Injectable({ providedIn: 'root' })\nexport class HttpClientService {\n private platformId = inject(PLATFORM_ID);\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private http = inject(HttpClient);\n private deviceService = inject(DeviceDetectorService);\n\n get<T = any>(url: string): Observable<T> {\n const headers = this.getHeaders();\n return this.http.get<T>(url, { headers });\n }\n\n post<T = any>(url: string, data?: any): Observable<T> {\n const headers = this.getHeaders();\n return this.http.post<T>(url, data, { headers });\n }\n\n private getHeaders(): HttpHeaders {\n const baseHeaders = new HttpHeaders()\n .set('x-origin-application', this.libConfig.xOriginApplication)\n .set('x-origin-channel', this.getOriginChannel())\n .set('x-origin-device', this.getOriginDevice());\n\n if (isPlatformServer(this.platformId) && this.libConfig.server) {\n return baseHeaders.append(\n 'authorization',\n 'Basic ' + Buffer.from(`${this.libConfig.siteApi.auth.user}:${this.libConfig.siteApi.auth.password}`).toString('base64'),\n );\n } else {\n return baseHeaders.append('client_id', this.libConfig.client_id);\n }\n }\n\n private getOriginChannel(): string {\n return this.deviceService.isDesktop() ? 'desktop' : 'mobile';\n }\n\n private getOriginDevice(): string {\n return `app-${this.deviceService.getDeviceInfo().os}`;\n }\n}\n","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { Observable } from 'rxjs';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\nimport { toQueryParams } from '../../helpers/toQueryParams.func';\nimport { HttpClientService } from '../http-client/http-client.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SiteBackendService {\n private httpClientService = inject(HttpClientService);\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private platformId = inject(PLATFORM_ID);\n\n siteApiUrl: string;\n\n constructor() {\n this.siteApiUrl = this.getApiUrl();\n }\n\n private getApiUrl(): string {\n if (isPlatformServer(this.platformId) && this.libConfig.server) {\n return this.libConfig.siteApi.baseInternal;\n }\n return this.libConfig.siteApi.base;\n }\n\n /**\n * GET para qualquer endpoint do back-end do site.\n * @param path - O caminho do recurso. (Inicia sem '/'. Ex: 'unidades/wp')\n * @param params - Parâmetros opcionais para a requisição.\n * @returns Observable que emite os dados retornados pelo back-end.\n */\n get<T = any>(path: string, params?: any): Observable<T> {\n return this.httpClientService.get<T>(`${this.siteApiUrl}${path}${toQueryParams(params)}`);\n }\n\n /**\n * POST para qualquer endpoint do back-end do site.\n * @param path - O caminho do recurso. (Inicia sem '/'. Ex: 'unidades/wp')\n * @param params - Parâmetros opcionais para a requisição.\n * @returns Observable que emite os dados retornados pelo back-end.\n */\n post<T = any>(path: string, params?: any): Observable<T> {\n return this.httpClientService.post<T>(`${this.siteApiUrl}${path}`, params);\n }\n}\n","import { inject, Injectable, PLATFORM_ID } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable, catchError, throwError } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nimport { LogService } from '../services/log/log.service';\nimport { SiteBackendService } from '../services/site-back-end/site-back-end.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n private logService = inject(LogService);\n private siteBackendService = inject(SiteBackendService);\n private platformId = inject(PLATFORM_ID);\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const queryParams = req.params.keys().length ? `?${req.params.toString()}` : '';\n const requestUrl = `${req.url}${queryParams}`;\n return next.handle(req).pipe(\n catchError((error) => {\n this.logService.logMsg(`REQUEST ERROR => ${req.method} ${requestUrl}`, 'ERROR_INTERCEPTOR');\n\n if (isPlatformBrowser(this.platformId) && !req.url.includes('/log/error')) {\n const errorMessage = typeof error === 'string' ? error : error instanceof Error ? error.message : JSON.stringify(error);\n\n this.siteBackendService\n .post('log/error', {\n error: errorMessage,\n origin: window.location.href,\n url: req.urlWithParams,\n })\n .subscribe();\n }\n\n return throwError(() => error);\n }),\n );\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Observable, tap } from 'rxjs';\nimport { differenceInMilliseconds } from 'date-fns';\nimport { v4 as uuidv4 } from 'uuid';\nimport { LogService } from '../services/log/log.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LogInterceptor implements HttpInterceptor {\n private logService = inject(LogService);\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const requestId = uuidv4();\n const startTime = Date.now();\n const queryParams = req.params.keys().length ? `?${req.params.toString()}` : '';\n const requestUrl = `${req.url}${queryParams}`;\n\n this.logService.logMsg(`REQUEST ${requestId} => ${req.method} ${requestUrl}`, 'INTERCEPTOR');\n\n return next.handle(req).pipe(\n tap((response) => {\n const res = response as HttpResponse<any>;\n if (res?.status) {\n const elapsedTime = differenceInMilliseconds(Date.now(), startTime);\n this.logService.logMsg(\n `RESPONSE ${requestId} => ${req.method} ${requestUrl} | Duração: ${elapsedTime}ms | Status: ${res.status} - ${res.statusText} | Body: ${!!res.body}`,\n 'INTERCEPTOR',\n );\n }\n }),\n );\n }\n}\n","import { inject, Injectable, PLATFORM_ID, TransferState, makeStateKey, StateKey } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Observable, tap, of } from 'rxjs';\nimport { isPlatformServer, isPlatformBrowser } from '@angular/common';\nimport { LIB_CONFIG } from '../tokens/LibConfig';\nimport { djb2Hash } from '../helpers/djb2Hash.func';\n\n/**\n * Cria uma chave numérica única para o cache\n * Gera um hash baseado em método + URL + parâmetros\n */\nfunction createCacheKey(req: HttpRequest<any>, url: string): string {\n const method = req.method;\n const params = req.params.toString();\n\n // Combina método, URL e parâmetros\n const keyString = [method, url, params].filter((part) => part.length > 0).join('::');\n\n // Gera hash numérico único\n const hashNumber = djb2Hash(keyString);\n\n return hashNumber.toString();\n}\n\n/**\n * Cria StateKey para o TransferState\n */\nfunction getTransferStateKey(req: HttpRequest<any>, url: string): StateKey<any> {\n const cacheKey = createCacheKey(req, url);\n return makeStateKey<any>(cacheKey);\n}\n\n/**\n * Interceptor para resolver o problema de TransferState com urls diferentes\n *\n * Problema: O SiteBackendService usa urls diferentes no server (baseInternal) e no client (base), fazendo com que o TransferState nativo do Angular não funcione corretamente.\n *\n * Solução:\n * - Server: Usa url interna, mas salva no TransferState baseado na url externa\n * - Client: Verifica TransferState usando url externa antes de fazer alguma requisição\n *\n * Dessa forma é possivel fazer o uso do TransferState mesmo com urls diferentes (\"baseInternal\" no server e \"base\" no client).\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TransferStateUrlInterceptor implements HttpInterceptor {\n private platformId = inject(PLATFORM_ID);\n private transferState = inject(TransferState);\n private libConfig = inject(LIB_CONFIG);\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (isPlatformServer(this.platformId)) {\n return this.handleServerRequest(req, next);\n } else if (isPlatformBrowser(this.platformId)) {\n return this.handleClientRequest(req, next);\n }\n\n return next.handle(req);\n }\n\n /**\n * Filtra headers da resposta baseado na configuração no LibConfig\n */\n private filterHeaders(responseHeaders: any): Record<string, string> {\n const includeHeaders = this.libConfig.transferState?.includeHeaders;\n\n if (!includeHeaders || includeHeaders.length === 0) {\n return {};\n }\n\n // Filtra apenas os headers configurados\n const filteredHeaders: Record<string, string> = {};\n includeHeaders.forEach((headerName) => {\n const headerValue = responseHeaders.get(headerName.toLowerCase());\n if (headerValue) {\n filteredHeaders[headerName.toLowerCase()] = headerValue;\n }\n });\n\n return filteredHeaders;\n }\n\n private handleServerRequest(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const siteApi = this.libConfig.siteApi;\n\n // Para urls internas\n if (req.url.startsWith(siteApi.baseInternal)) {\n const externalUrl = req.url.replace(siteApi.baseInternal, siteApi.base);\n const stateKey = getTransferStateKey(req, externalUrl);\n\n return next.handle(req).pipe(\n tap((event) => {\n if (event instanceof HttpResponse) {\n const filteredHeaders = this.filterHeaders(event.headers);\n\n // Salva no TransferState baseado na url externa\n this.transferState.set(stateKey, {\n body: event.body,\n status: event.status,\n statusText: event.statusText,\n headers: filteredHeaders,\n });\n }\n }),\n );\n }\n\n return next.handle(req);\n }\n\n private handleClientRequest(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const siteApi = this.libConfig.siteApi;\n\n // Para urls externas\n if (req.url.startsWith(siteApi.base)) {\n const stateKey = getTransferStateKey(req, req.url);\n const cachedResponse = this.transferState.get(stateKey, null);\n\n if (cachedResponse) {\n this.transferState.remove(stateKey);\n\n // Retorna resposta do TransferState\n return of(\n new HttpResponse({\n body: cachedResponse.body,\n status: cachedResponse.status,\n statusText: cachedResponse.statusText,\n headers: cachedResponse.headers,\n }),\n );\n }\n }\n\n return next.handle(req);\n }\n}\n","export enum EnumDoencaTaxonomy {\n DOENCAS_CAT = 'doencas_cat',\n DOENCAS_TAG = 'doencas_tag',\n}\n\nexport enum EnumDoencaTaxonomyCat {\n DOENCA = 'doencas',\n SINTOMA = 'sintomas',\n}\n\nexport interface DoencaTaxonomy {\n id: number;\n name: string;\n slug: string;\n taxonomy: EnumDoencaTaxonomy;\n}\n\nexport interface TaxonomiasDoencasList {\n doencas_cat: DoencaTaxonomy[];\n doencas_tag: DoencaTaxonomy[];\n}\n","import { TemplateRef } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { FilterOption, FilterSectionBase } from './filter-planos-convenios.model';\nimport { FilterControl } from './filter-section.type';\n\nexport enum FilterType {\n INPUT = 'input',\n SELECT = 'select',\n CHECKBOX_GROUP = 'checkbox-group',\n RADIO_GROUP = 'radio-group',\n CUSTOM = 'custom',\n}\n\n// Input\nexport interface InputFilterConfig {\n name: string;\n placeholder?: string;\n iconName?: string;\n control: FilterControl;\n options?: FilterOption[];\n}\n\n// Select\nexport interface SelectFilterConfig {\n name: string;\n label?: string;\n placeholder?: string;\n includeDefaultOption?: boolean;\n defaultOptionText?: string;\n control: FilterControl;\n options?: FilterOption[];\n}\n\n// Checkbox Group\nexport interface CheckboxGroupFilterConfig {\n name: string;\n title?: string;\n subtitle?: string;\n description?: string;\n control: FormControl<any[]>;\n options: FilterOption[];\n}\n\n// Radio Group\nexport interface RadioGroupFilterConfig {\n name: string;\n title?: string;\n control: FilterControl;\n options: FilterOption[];\n}\n\n// Custom\nexport interface CustomFilterConfig {\n template: TemplateRef<any>;\n control?: any;\n context?: any;\n options?: FilterOption[];\n count?: number;\n}\n\n// Interfaces completas por tipo\nexport interface InputFilterSection extends FilterSectionBase<FilterType.INPUT, InputFilterConfig> {}\nexport interface SelectFilterSection extends FilterSectionBase<FilterType.SELECT, SelectFilterConfig> {}\nexport interface CheckboxGroupFilterSection extends FilterSectionBase<FilterType.CHECKBOX_GROUP, CheckboxGroupFilterConfig> {}\nexport interface RadioGroupFilterSection extends FilterSectionBase<FilterType.RADIO_GROUP, RadioGroupFilterConfig> {}\nexport interface CustomFilterSection extends FilterSectionBase<FilterType.CUSTOM, CustomFilterConfig> {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { CtaWrapper } from '../../models/cta-wrapper.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ErrorService {\n ctas = new BehaviorSubject<CtaWrapper>({});\n}\n","import { Injectable, PLATFORM_ID, inject } from '@angular/core';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { LogService } from '../log/log.service';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\n\nexport interface MapBoxGeocodingParams {\n autocomplete?: boolean;\n bbox?: string; // minLon, minLat, maxLon, maxLat\n country?: string; // country codes separated by commas\n fuzzyMatch?: boolean;\n language?: string;\n limit?: number; // default: 5, max: 10\n proximity?: string; // longitude, latitude\n routing?: boolean;\n // Types can be comma separated\n types?: string; // \"country\" | \"region\" | \"postcode\" | \"district\" | \"place\" | \"locality\" | \"neighborhood\" | \"address\" | \"poi\"\n [propName: string]: any;\n}\n\nexport interface MapBoxReverseGeocodingParams {\n country?: string; // country codes separated by commas\n language?: string;\n limit?: number; // default: 5, max: 10\n reverseMode?: 'distance' | 'score';\n routing?: boolean;\n // Types can be comma separated\n types?: string; // \"country\" | \"region\" | \"postcode\" | \"district\" | \"place\" | \"locality\" | \"neighborhood\" | \"address\" | \"poi\"\n [propName: string]: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapBoxService {\n private readonly http = inject(HttpClient);\n private readonly logService = inject(LogService);\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private readonly platformId = inject(PLATFORM_ID);\n\n private mapboxAccessToken = this.libConfig.mapboxAccessToken;\n private mapboxSSRAccessToken = this.libConfig.mapboxSSRAccessToken;\n private mapboxApiUrl = 'https://api.mapbox.com';\n private geocodingEp = 'search/geocode/v6';\n\n /**\n * Busca geocalizada por nome do local.\n * Ex.: barra da tijuca, rio de janeiro - rio de janeiro, brasil\n * @param query nome de local para a busca\n * @param params parâmetros opcionais de busca e filtro\n */\n forwardGeocoding(query: string, params: MapBoxGeocodingParams = {}, logContext?: string): Observable<any> {\n this.logMapbox('forwardGeocoding', logContext);\n if (query.length >= 256) {\n return throwError(() => 'Query length exceeds 255 characters.');\n }\n const url = `${this.mapboxApiUrl}/${this.geocodingEp}/forward?q=${query}`;\n params['access_token'] = isPlatformBrowser(this.platformId) ? this.mapboxAccessToken : this.mapboxSSRAccessToken;\n return this.http.get(url, { params, headers: this.getHeaders() });\n }\n\n /**\n * Busca local por longitude e latitude\n * @param lng formato longitude\n * @param lat formato latitude\n * @param params parâmetros opcionais de busca e filtro\n */\n reverseGeocoding(lng: string, lat: string, params: MapBoxReverseGeocodingParams = {}, logContext?: string): Observable<any> {\n this.logMapbox('reverseGeocoding', logContext);\n const url = `${this.mapboxApiUrl}/${this.geocodingEp}/reverse?longitude=${lng}&latitude=${lat}`;\n params['access_token'] = isPlatformBrowser(this.platformId) ? this.mapboxAccessToken : this.mapboxSSRAccessToken;\n return this.http.get(url, { params });\n }\n\n private logMapbox(callerFunction: string, context = 'no-context') {\n const platform = isPlatformServer(this.platformId) ? 'server' : 'browser';\n this.logService.logMsg(`${platform} - ${callerFunction} - ${context}`, 'MAPBOX');\n }\n\n private getHeaders(): HttpHeaders {\n return new HttpHeaders().set('Referrer-Policy', 'origin');\n }\n}\n","import { Injectable, PLATFORM_ID, DOCUMENT, inject } from '@angular/core';\nimport { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { BehaviorSubject, map, Observable } from 'rxjs';\nimport { MapBoxReverseGeocodingParams, MapBoxService } from '../mapbox/mapbox.service';\nimport { LogService } from '../log/log.service';\nimport { checkSafariAgent } from '../../helpers/check-safari-agent.func';\nimport { getCircularReplacer } from '../../helpers/getCircularReplacer.func';\n\nexport enum GeolocationPermissions {\n GRANTED = 'granted',\n PROMPT = 'prompt',\n DENIED = 'denied',\n}\n\nexport interface Geolocation {\n lat: number;\n lng: number;\n}\n\nexport interface Address {\n city: string;\n state: {\n name: string;\n shortCode: string;\n };\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GeolocService {\n private readonly document = inject<Document>(DOCUMENT);\n private readonly platformId = inject(PLATFORM_ID);\n private mapboxService = inject(MapBoxService);\n private readonly logService = inject(LogService);\n\n private _mapboxGeocodingParams: MapBoxReverseGeocodingParams = {\n types: 'place',\n limit: 1,\n language: 'pt-BR',\n country: 'BR',\n };\n\n private _hasConsent = false;\n private _switchStatus = false;\n public get switchStatus(): boolean {\n return this._switchStatus;\n }\n private _address: Address | null = null;\n public get address(): Address | null {\n return this._address;\n }\n\n private _permission: PermissionState = GeolocationPermissions.PROMPT;\n public get permission(): PermissionState {\n return this._permission;\n }\n\n public geolocation: BehaviorSubject<Geolocation | null> = new BehaviorSubject<Geolocation | null>(null);\n public isChecked: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false); // Emite true quando o geoloc está estável\n\n private _isSafariAgent: boolean = false;\n private _disableSwitch = false;\n public get disableSwitch(): boolean {\n return this._disableSwitch;\n }\n\n constructor() {\n if (isPlatformServer(this.platformId)) {\n this.isChecked.next(true);\n return;\n }\n\n this._isSafariAgent = checkSafariAgent();\n if (this._isSafariAgent) {\n this._hasConsent = this.checkACookieExists('geolocation_consent');\n this.initGeolocation(this._hasConsent);\n return;\n }\n\n navigator?.permissions\n ?.query({ name: 'geolocation' })\n .then((permission) => {\n this._permission = permission.state;\n this.initGeolocation(this._permission === GeolocationPermissions.GRANTED);\n\n permission.onchange = () => {\n this._permission = permission.state;\n this.initGeolocation(this._permission === GeolocationPermissions.GRANTED);\n };\n })\n .catch((error) => {\n this.logService.logMsg(JSON.stringify(error, getCircularReplacer()), 'ERROR');\n this._permission = GeolocationPermissions.DENIED;\n this._disableSwitch = true;\n this.initGeolocation(false);\n });\n }\n\n initGeolocation(geolocAllowed = false): void {\n this._switchStatus = true;\n if (geolocAllowed) {\n this.getCurrentPosition().subscribe({\n next: (position) => {\n this._disableSwitch = false;\n this.setGeolocation(position);\n this.setConsentCookie(true, 3650);\n this._hasConsent = true;\n this._permission = GeolocationPermissions.GRANTED;\n },\n error: () => {\n if (this._permission === GeolocationPermissions.DENIED) {\n this._disableSwitch = true;\n this.setConsentCookie(false, 15);\n }\n this.geolocation.next(null);\n this._address = null;\n this._hasConsent = false;\n this._switchStatus = false;\n this.isChecked.next(true);\n },\n });\n } else {\n if (this.permission === GeolocationPermissions.DENIED) {\n this._disableSwitch = true;\n this.setConsentCookie(false, 15);\n }\n this.geolocation.next(null);\n this._address = null;\n this._hasConsent = false;\n this._switchStatus = false;\n this.isChecked.next(true);\n }\n }\n\n private getCurrentPosition(): Observable<GeolocationPosition> {\n return new Observable((observer) => {\n navigator.geolocation.getCurrentPosition(\n (position) => {\n observer.next(position);\n observer.complete();\n },\n (error) => observer.error(error),\n { enableHighAccuracy: true },\n );\n });\n }\n\n private setGeolocation(position: GeolocationPosition): void {\n if (position) {\n if (position.coords.latitude === this.geolocation.value?.lat && position.coords.longitude === this.geolocation.value?.lng) return;\n\n this.geolocation.next({\n lat: position.coords.latitude,\n lng: position.coords.longitude,\n });\n\n this.getMapboxAdress()\n .pipe(\n map((response) => {\n const city = response?.features[0]?.properties?.name;\n const state = {\n name: response?.features[0]?.properties?.context?.region?.name,\n shortCode: response?.features[0]?.properties?.context?.region?.region_code,\n };\n return { city, state };\n }),\n )\n .subscribe({\n next: (response) => {\n this._address = response;\n this._switchStatus = true;\n this.isChecked.next(true);\n },\n error: (error) => {\n this.logService.logMsg(JSON.stringify(error, getCircularReplacer()), 'ERROR');\n this._switchStatus = false;\n this.geolocation.next(null);\n this._address = null;\n this.isChecked.next(true);\n },\n });\n } else {\n this.geolocation.next(null);\n this._address = null;\n this._switchStatus = false;\n this.isChecked.next(true);\n }\n }\n\n private getMapboxAdress(): Observable<any> {\n const lng = `${this.geolocation.value?.lng}`;\n const lat = `${this.geolocation.value?.lat}`;\n return this.mapboxService.reverseGeocoding(lng, lat, this._mapboxGeocodingParams, 'geolocalizacao.service getMapboxAdress');\n }\n\n checkACookieExists(name: string): boolean {\n if (isPlatformServer(this.platformId) || typeof this.document === 'undefined' || !this.document?.cookie) {\n return false;\n }\n return this.document.cookie\n .split(';')\n .map((item) => item.trim())\n .some((item) => item.trim().startsWith(name));\n }\n\n private setConsentCookie(status: boolean, days: number): void {\n if (this.getCookieValue('geolocation_consent') !== status.toString()) {\n const lifetime = new Date(Date.now() + days * 86400000).toUTCString();\n this.document.cookie = `geolocation_consent=${status}; path=/; expires=${lifetime}; SameSite=None; Secure`;\n }\n }\n\n private getCookieValue(prop: string): string {\n if (isPlatformBrowser(this.platformId)) {\n const value = this.document.cookie\n .split(';')\n .map((item) => item.trim())\n .find((item) => item.startsWith(`${prop}=`));\n\n return value ? value.slice(prop.length + 1) : '';\n }\n return '';\n }\n}\n","import { ElementRef, Injectable, TemplateRef, ModelSignal, signal } from '@angular/core';\nimport { RdsiteModalDrawerComponentStyle } from '../../enums/RdsiteModalDrawerComponentStyle.enum';\nimport { executeWithRetry } from '../../helpers/executeWithRetry.func';\n\nexport abstract class AbstractModalDrawerComponent {\n abstract sheet: HTMLElement | null;\n abstract sheetContents: HTMLElement | null;\n abstract draggableArea: HTMLElement | null;\n abstract sheetHeight: number | null;\n abstract dragPosition: number | null;\n abstract maxHeight: number | null;\n abstract closeHeight: number | null;\n abstract rdsiteModalComponentStyle: any;\n abstract id: ModelSignal<string>;\n abstract modalContent: ModelSignal<ElementRef | TemplateRef<any>> | null;\n abstract componentStyle: ModelSignal<any>;\n abstract modal: HTMLDialogElement;\n abstract setSheetHeight(value: number): void;\n abstract setIsSheetShown(isShown: boolean): void;\n abstract openSheet(): void;\n abstract closeSheet(): void;\n abstract touchPosition(event: any): void;\n abstract onDragStart(event: any): void;\n abstract onDragMove(event: any): void;\n abstract onDragEnd(): void;\n abstract reset(): void;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ModalDrawerService {\n reference: AbstractModalDrawerComponent | null = null;\n\n firstInteraction = signal(false);\n maxTries = 10;\n delay = 200;\n\n open() {\n this.firstInteraction.set(true);\n executeWithRetry(\n () => {\n this.reference?.openSheet();\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setReference(element: AbstractModalDrawerComponent) {\n this.reference = element;\n }\n\n setContent(content: ElementRef | TemplateRef<any>) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.modalContent?.set(content);\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setStyle(style: RdsiteModalDrawerComponentStyle) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.componentStyle.set(style);\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n setHeight(value: number) {\n executeWithRetry(\n () => {\n if (this.reference) {\n this.reference.maxHeight = value;\n }\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n\n close() {\n executeWithRetry(\n () => {\n this.reference?.closeSheet();\n },\n () => !!this.reference,\n this.maxTries,\n this.delay,\n );\n }\n}\n","import { isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport { Injectable, PLATFORM_ID, DOCUMENT, inject } from '@angular/core';\nimport { PrivacyToolsConfigOptions, PrivacyToolsCookieBanner } from '../../models/privacy-tools/privacy-tools.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PrivacyToolsService {\n document = inject<Document>(DOCUMENT);\n platformId = inject(PLATFORM_ID);\n\n cookieBannerScriptId = 'PrivacyToolsScript';\n cookieBannerStyleId = 'PrivacyToolsStyle';\n cookieBannerScriptElement: HTMLScriptElement | null = null;\n configOptions: PrivacyToolsConfigOptions = {};\n cookieConsent: any = null;\n\n /* Config */\n public config(options: PrivacyToolsConfigOptions) {\n this.configOptions = options;\n }\n\n /* Setup cookie Banner */\n public setupCookieBanner(unidadeBasePath: string) {\n if (isPlatformBrowser(this.platformId)) {\n const banner = this.configOptions?.cookieBanners?.find((banner) => banner.basePath.includes(unidadeBasePath));\n\n if (banner) {\n this.addCookieBanner(banner);\n }\n }\n }\n\n public openCookieBanner() {\n if (this.cookieConsent && this.cookieBannerScriptElement) {\n this.cookieConsent.privacyToolsShowCookieNotice();\n }\n }\n\n /* Add cookie banner style and script */\n private addCookieBanner(banner: PrivacyToolsCookieBanner) {\n this.cookieBannerScriptElement = null;\n this.addCookieBannerStyle(banner.styleSrc);\n this.addCookieBannerScript(banner.scriptSrc);\n }\n\n /* Add cookie banner style. */\n public addCookieBannerStyle(src: string) {\n if (isPlatformServer(this.platformId)) return;\n\n this.document.getElementById('byRemovePortal')?.remove();\n\n const oldStyle = this.document.getElementById(this.cookieBannerStyleId);\n\n if (oldStyle) {\n oldStyle.remove();\n }\n\n const style = this.document.createElement('link');\n style.id = this.cookieBannerStyleId;\n style.rel = 'stylesheet';\n style.type = 'text/css';\n style.href = src;\n style.media = 'none';\n\n style.addEventListener('load', () => {\n style.media = 'all';\n });\n\n this.document.body.appendChild(style);\n }\n\n /* Add cookie banner script. */\n public addCookieBannerScript(src: string) {\n if (isPlatformServer(this.platformId) || typeof window === 'undefined') return;\n\n (window as any)['cookieconsent'] = null;\n\n const oldScript = this.document.getElementById(this.cookieBannerScriptId);\n\n if (oldScript) {\n oldScript.remove();\n }\n const script = this.document.createElement('script');\n script.id = this.cookieBannerScriptId;\n script.src = src;\n\n script.addEventListener('load', () => {\n this.cookieBannerScriptElement = script;\n this.cookieConsent = (window as any)['cookieconsent'];\n (window as any)['portalBanner']?.call();\n });\n\n this.document.body.appendChild(script);\n }\n}\n","import { Injectable, DOCUMENT, inject } from '@angular/core';\nimport { Meta, Title } from '@angular/platform-browser';\nimport { Location } from '@angular/common';\n\nimport * as he from 'he';\n\nimport { SocialMetaProperties } from '../../models/social-meta-properties.model';\nimport { BreadcrumbsItems } from '../../models/breadcrumbs/breadcrumbs-items.model';\nimport { BreadcrumbsJsonItem } from '../../models/breadcrumbs/breadcrumbs-json-item.model';\nimport { SeoData } from '../../models/seo/seo-data.model';\nimport { SeoUnidade } from '../../models/seo/seo-unidade.model';\nimport { WpPost } from '../../models/wordpress/post/post.model';\nimport { getSiteUrl } from '../../helpers/getSiteUrl.func';\nimport { removeHtmlTags } from '../../helpers/removeHtmlTags.func';\nimport { LIB_CONFIG, LibConfig } from '../../tokens/LibConfig';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SeoService {\n private title = inject(Title);\n private meta = inject(Meta);\n private location = inject(Location);\n private libConfig = inject<LibConfig>(LIB_CONFIG);\n private document = inject<Document>(DOCUMENT);\n\n public separator = ' - ';\n public defaultTitle = 'Rede D’Or';\n public activeDescription!: string;\n public sameAs = [\n 'https://www.facebook.com/rededor/',\n 'https://www.instagram.com/rededor_oficial/',\n 'https://www.linkedin.com/company/rededor-saoluiz',\n 'https://twitter.com/rededor',\n ];\n public twitterUser = '@rededor';\n\n private canonicalTag!: HTMLLinkElement;\n private jsonTag!: HTMLScriptElement;\n private jsonTagId = 'seoJSON';\n private breadcrumbsJsonTag!: HTMLScriptElement;\n private breadcrumbsJsonTagId = 'breadcrumbsJSON';\n\n public unidade: any = null;\n public unidadeName: string = '';\n public unidadePath: string = '';\n public unidadeSlug: string = '';\n\n public customJsonType: any[] = [];\n\n public setFullSeo(data: SeoData) {\n this.setTitle(data.title.text, !!data.title.sub);\n this.setDescription(data.description);\n this.setCanonicalHref(data.canonical);\n this.setPageJson();\n this.setSocialTags(data.socialTags);\n }\n\n /**\n * Define tag description da página\n * @param content conteúdo da descrição <string>\n */\n public setDescription(content: string): SeoService {\n const descTag = this.meta.getTag(\"name='description'\");\n if (content) {\n content = he.decode(content);\n content = removeHtmlTags(content);\n } else {\n content = '';\n }\n this.activeDescription = content;\n const tagContent = { name: 'description', content };\n if (descTag) {\n this.meta.updateTag(tagContent);\n } else {\n this.meta.addTag(tagContent);\n }\n return this;\n }\n\n /**\n * Define meta tags para a página\n * @param tag nome da tag meta\n * @param content conteúdo da tag meta\n * @param type tipo de tag meta\n */\n public setMetaTag(tag: string, content: string, type = 'name') {\n const metatag = this.meta.getTag(`${type}='${tag}'`);\n content = he.decode(content);\n content = removeHtmlTags(content);\n const tagContent = {\n [type]: tag,\n content,\n };\n if (!metatag) {\n this.meta.addTag(tagContent);\n } else {\n this.meta.updateTag(tagContent);\n }\n return this;\n }\n\n /**\n * Remove meta tags da página\n * @param tag nome da tag meta\n * @param content conteúdo da tag meta\n * @param attr atributo da tag meta\n * @param type tipo de tag meta\n */\n public removeTag(tag: string, content: string, attr: string, type = 'name') {\n const metatag = this.meta.getTag(`${type}='${tag}'`);\n if (metatag) {\n this.meta.removeTag(`${attr}=${content}`);\n }\n return this;\n }\n\n /**\n * Define meta tags para Facebook\n * @param title título para o facebook\n * @param description descrição para o facebook\n * @param url url para definição do facebook\n * @param img imagem para definição no facebook\n */\n public setMetaFacebook(title: string, description: string, url: string, img: string | null = null) {\n this.setMetaTag('og:url', url, 'property');\n this.setMetaTag('og:title', title, 'property');\n this.setMetaTag('og:description', description, 'property');\n this.setMetaTag('og:type', 'website', 'property');\n this.setMetaTag('og:image', img ?? '', 'property');\n }\n\n /**\n * Define meta tags para Twitter\n * @param title título para o twitter\n * @param description descrição para o twitter\n * @param url url para o twitter\n * @param img imagem para definição no twitter\n */\n public setMetaTwitter(title: string, description: string, url: string, img: string | null = null) {\n this.setMetaTag('twitter:site', url, 'name');\n this.setMetaTag('twitter:title', title, 'name');\n this.setMetaTag('twitter:description', description, 'name');\n this.setMetaTag('twitter:image', img ?? '', 'name');\n }\n\n /**\n * Define tags de redes sociais (Twitter e Open Graph)\n * @param properties\n */\n setSocialTags(properties?: SocialMetaProperties) {\n const pagePath = this.location.path();\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n let defaultProperties: SocialMetaProperties = {\n twitterCard: 'summary',\n twitterSite: this.twitterUser,\n type: 'website',\n title: this.getTitle(),\n description: this.activeDescription || '',\n url: `${siteurl}${pagePath}`,\n image: this.libConfig?.logoPath ? `${siteurl}${this.libConfig.logoPath}` : 'https://www.rededorsaoluiz.com.br/assets/imgs/logo-rededor-blue.png',\n };\n if (properties) {\n defaultProperties = { ...defaultProperties, ...properties };\n }\n this.setMetaTag('twitter:card', defaultProperties.twitterCard || '', 'name')\n .setMetaTag('twitter:site', defaultProperties.twitterSite || '', 'name')\n .setMetaTag('og:type', defaultProperties.type || '', 'property')\n .setMetaTag('og:title', defaultProperties.title || '', 'property')\n .setMetaTag('og:description', defaultProperties.description || '', 'property')\n .setMetaTag('og:url', defaultProperties.url || '', 'property')\n .setMetaTag('og:image', defaultProperties.image || '', 'property');\n\n return this;\n }\n\n /**\n * Define título da página\n * @param title título da página <string>\n * @param sub Se é subsite acrescenta unidade <boolean>\n */\n public setTitle(title: string, sub = false) {\n if (title && title !== '') {\n title = he.decode(title);\n title = removeHtmlTags(title);\n if (sub) {\n title = he.decode(`${title}${this.separator}${this.unidadeName}`);\n }\n this.title.setTitle(title);\n }\n return this;\n }\n\n /** Obtem título atual da página */\n public getTitle(): string {\n return this.title.getTitle();\n }\n\n public set404Title(component: string = 'Default Component') {\n if (component && component !== '') {\n component = he.decode(component);\n component = removeHtmlTags(component);\n if (this.unidadeName) {\n component = he.decode(`${component}${this.separator}${this.unidadeName}`);\n }\n }\n const title = `Erro 404 - ${component} - ${this.libConfig?.siteName} - ${this.location.path()}`;\n this.title.setTitle(title);\n return this;\n }\n\n public set500Title(component: string = 'Default Component') {\n if (component && component !== '') {\n component = he.decode(component);\n component = removeHtmlTags(component);\n if (this.unidadeName) {\n component = he.decode(`${component}${this.separator}${this.unidadeName}`);\n }\n }\n const title = `Erro 500 - ${component} - ${this.libConfig?.siteName} - ${this.location.path()}`;\n this.title.setTitle(title);\n return this;\n }\n\n /** Cria tag script para JSON de breadcrumbs */\n private createBreadcrumbsJSONTag(): HTMLScriptElement {\n const tag: HTMLScriptElement = this.document.createElement('script');\n tag.id = this.breadcrumbsJsonTagId;\n tag.type = 'application/ld+json';\n this.document.head.appendChild(tag);\n this.breadcrumbsJsonTag = tag;\n return tag;\n }\n\n /** Retorna tag para script json de breadcrumbs ou cria se não houver. */\n private getBreadcrumbsJSONTag(): HTMLScriptElement {\n const elements = this.document.head.children;\n let i: number;\n for (i = 0; i < elements.length; i++) {\n const elem = elements[i] as HTMLScriptElement;\n if (elem && elem.id === this.breadcrumbsJsonTagId) {\n return elem;\n }\n }\n return this.createBreadcrumbsJSONTag();\n }\n\n /** Define o JSON de breadcrumbs da página */\n public setBreadcrumbsJson(items: BreadcrumbsItems[]) {\n this.breadcrumbsJsonTag = this.getBreadcrumbsJSONTag();\n const json = {\n '@context': 'http://schema.org',\n '@type': 'BreadcrumbList',\n itemListElement: this.getJsonBreadcrumbItems(items),\n };\n this.breadcrumbsJsonTag.innerHTML = JSON.stringify(json);\n return this;\n }\n\n /** Converte itens do breadcrumb em itens do JSON */\n private getJsonBreadcrumbItems(items: BreadcrumbsItems[]): BreadcrumbsJsonItem[] {\n const jsonItems = [\n {\n '@type': 'ListItem',\n position: 1,\n item: { '@id': this.getBreadcrumbItemUrl(['/']), name: he.encode('Página Inicial') },\n } as BreadcrumbsJsonItem,\n ];\n items.forEach((item, i) => {\n const jsonItem: BreadcrumbsJsonItem = {\n '@type': 'ListItem',\n position: i + 2,\n item: { '@id': this.getBreadcrumbItemUrl(item?.url || []), name: he.encode(item.label) },\n };\n jsonItems.push(jsonItem);\n });\n return jsonItems;\n }\n\n /**\n * Monta a url do item de breadcrumb proveniente do array de urls\n * ou do caminho da própria página, conforme caso do último item.\n */\n private getBreadcrumbItemUrl(url: string[]): string {\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n if (!url || url.length <= 0) {\n const pagePath = this.location.path();\n return `${siteurl}${pagePath}`;\n }\n url = url.filter((u) => u !== this.unidadePath);\n const unidadePath = this.getUnidadePath();\n const fullPath = `${unidadePath}/${url.join('/').replace(/^\\/?/, '')}`;\n return `${siteurl}${fullPath}`.replace(/\\/$/, '');\n }\n\n /** Cria tag script para o JSON de SEO */\n private createJSONTag(): HTMLScriptElement {\n const tag: HTMLScriptElement = this.document.createElement('script');\n tag.id = this.jsonTagId;\n tag.type = 'application/ld+json';\n this.document.head.appendChild(tag);\n this.jsonTag = tag;\n return tag;\n }\n\n /** Retorna tag para script json de breadcrumbs ou cria se não houver. */\n private getJSONTag(): HTMLScriptElement {\n const elements = this.document.head.children;\n let i: number;\n for (i = 0; i < elements.length; i++) {\n const elem = elements[i] as HTMLScriptElement;\n if (elem && elem.id === this.jsonTagId) {\n return elem;\n }\n }\n return this.createJSONTag();\n }\n\n /** Define JSON para SEO somente quando no servidor */\n public setPageJson() {\n this.jsonTag = this.getJSONTag();\n\n const baseGraph = [this.getOrgJson(), this.getWebsiteJson(), this.getWebpageJson()];\n\n const extendedGraph = this.customJsonType.length ? [...baseGraph, ...this.customJsonType] : baseGraph;\n\n this.customJsonType = [];\n\n const json = {\n '@context': 'http://schema.org',\n '@graph': extendedGraph,\n };\n\n this.jsonTag.innerHTML = JSON.stringify(json);\n\n return this;\n }\n\n /** Obtem JSON da Organização */\n private getOrgJson() {\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n return {\n '@type': 'Organization',\n '@id': `${siteurl}#organization`,\n name: this.defaultTitle,\n keywords: this.libConfig?.keywords,\n url: `${siteurl}`,\n sameAs: this.sameAs,\n };\n }\n\n /** Obtem JSON do Website (portal, unidades, etc) */\n private getWebsiteJson() {\n const unidadePath = this.getUnidadePath();\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n return {\n '@type': 'WebSite',\n '@id': `${siteurl}${unidadePath}#website`,\n url: `${siteurl}${unidadePath}`,\n name: this.unidadeName,\n keywords: this.libConfig?.keywords,\n };\n }\n\n /** Obtem Json da página */\n private getWebpageJson() {\n const unidadePath = this.getUnidadePath();\n const siteURL = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n const pagePath = `${siteURL}${this.location.path()}`;\n const desc = this.activeDescription ? this.activeDescription : '';\n return {\n '@type': 'WebPage',\n '@id': `${pagePath}#webpage`,\n url: pagePath,\n inLanguage: 'pt-BR',\n name: this.getTitle(),\n isPartOf: { '@id': `${siteURL}${unidadePath}#website` },\n about: { '@id': `${siteURL}#organization` },\n description: desc,\n };\n }\n\n private getUnidadePath() {\n let unidadePath = '';\n if (this.unidade && this.unidadePath) {\n unidadePath = this.unidade?.path === '/' ? '' : this.unidadePath?.substring(0, this.unidadePath?.length - 1);\n }\n return unidadePath;\n }\n\n /**\n * Obtém a URL canônica da página.\n * @returns A URL canônica da página.\n */\n public getCanonicalHref(): string {\n if (!this.canonicalTag) {\n this.canonicalTag = this.getCanonicalTag();\n }\n return this.canonicalTag.href;\n }\n\n /** Cria tag para links canonicals no head */\n private createCanonicalTag(): HTMLLinkElement {\n const tag = this.document.createElement('link');\n tag.setAttribute('rel', 'canonical');\n this.document.head.appendChild(tag);\n tag.setAttribute('href', this.document.URL);\n this.canonicalTag = tag;\n return tag;\n }\n\n /** Retorna tag para link canonical existe ou cria se não houver. */\n private getCanonicalTag(): HTMLLinkElement {\n const elements = this.document.head.children;\n let i: number;\n for (i = 0; i < elements.length; i++) {\n const elem = elements[i] as HTMLLinkElement;\n if (elem && elem.tagName === 'LINK' && elem.rel === 'canonical') {\n return elem;\n }\n }\n return this.createCanonicalTag();\n }\n\n /**\n * Define link canonical da página\n * @param url url canonical\n */\n public setCanonicalHref(url?: string) {\n if (!this.canonicalTag) {\n this.canonicalTag = this.getCanonicalTag();\n }\n\n let path = this.document.location.pathname;\n\n if (this.libConfig?.siteSufix && path.includes(this.libConfig?.siteSufix)) {\n path = path.replace(this.libConfig?.siteSufix, '');\n }\n\n if (!path.startsWith('/')) {\n path = `/${path}`;\n }\n\n const canonicalUrl = url && this.isCustomCanonical(url) ? url : `${getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix)}${path}`;\n\n this.canonicalTag.setAttribute('href', canonicalUrl);\n return this;\n }\n\n /**\n * Verifica se a URL fornecida é um link canonical personalizado\n * @param url URL fornecida\n */\n public isCustomCanonical(url: string): boolean {\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n return url.startsWith(siteurl);\n }\n\n /**\n * Obtém uma url válida na aplicação proveniente de uma URL gerada\n * pelo plugin Yoast para canonical automático.\n * Ex.: https://wp.rededorsaoluiz.com.br/brasil/especialidades/cardiologia/\n * @param urlFromWpApi URL canonica gerada pelo Yoast Plugin.\n */\n toLocalCanonical(urlFromWpApi: string): string {\n const apiUrl = this.libConfig?.wpUrl ?? '';\n const siteurl = getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix);\n const unidadeSlug = this.unidadeSlug;\n let converted = urlFromWpApi.replace(apiUrl, siteurl);\n if (unidadeSlug !== '/' && converted.includes(`/${unidadeSlug}/`)) {\n converted = converted.replace(`/${unidadeSlug}/`, `${this.unidadePath}`);\n }\n return converted;\n }\n\n getPostContent(post: WpPost): string {\n const content = post?.acf?.['rdsl_post_content'] ? post?.acf?.rdsl_post_content?.find((content: any) => content.acf_fc_layout === 'text_html') : null;\n return content?.content || post.content.rendered || '';\n }\n\n addArticleScript(post: WpPost, scriptName: string): void {\n const postContent = this.getPostContent(post);\n const postHeaderImage = post?.acf?.['rdsl_post_header_img']\n ? {\n url: post?.acf?.['rdsl_post_header_img'].url,\n width: post?.acf?.['rdsl_post_header_img'].width,\n height: post?.acf?.['rdsl_post_header_img'].height,\n }\n : null;\n\n const structuredData = {\n '@context': 'https://schema.org',\n '@type': 'Article',\n mainEntityOfPage: `${getSiteUrl(this.libConfig?.siteUrl, this.libConfig?.siteSufix)}${this.location.path()}`,\n headline: post.title?.rendered,\n datePublished: post.date_gmt,\n publisher: {\n '@type': 'Organization',\n name: 'Rede D’Or',\n },\n description: post.title?.rendered,\n articleBody: removeHtmlTags(he.decode(postContent)),\n dateModified: post.modified_gmt,\n image: {\n '@type': 'ImageObject',\n url: postHeaderImage?.url || post.featured_media_path || '',\n height: postHeaderImage?.height || '',\n width: postHeaderImage?.width || '',\n },\n author: {\n '@type': 'Organization',\n name: 'Rede D’Or',\n },\n wordcount: postContent.split(' ').length,\n };\n\n const script = this.document.createElement('script');\n\n script.type = 'application/ld+json';\n script.id = scriptName;\n script.innerHTML = JSON.stringify(structuredData);\n\n this.document.head.appendChild(script);\n }\n\n removeArticleScript(scriptName: string): void {\n const script = this.document.getElementById(scriptName);\n script?.remove();\n }\n\n public setUnidade({ unidade = null, unidadeName = '', unidadePath = '', unidadeSlug = '' }: SeoUnidade) {\n this.unidade = unidade;\n this.unidadeName = unidadeName;\n this.unidadePath = unidadePath;\n this.unidadeSlug = unidadeSlug;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Response } from 'express';\nimport { RESPONSE } from '../../tokens/express.tokens';\n\nexport interface IServerResponseService {\n getHeader(key: string): string;\n setHeader(key: string, value: string): this;\n setHeaders(dictionary: { [key: string]: string }): this;\n appendHeader(key: string, value: string, delimiter?: string): this;\n setStatus(code: number, message?: string): this;\n setNotFound(message?: string): this;\n setError(message?: string): this;\n setRedirect(redirectParams?: { statusCode: number; message: string; url?: string }): this;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ServerResponseService implements IServerResponseService {\n private response = inject(RESPONSE, { optional: true });\n\n getHeader(key: string): string {\n if (this.response) {\n return this.response.getHeader(key) as string;\n }\n return '';\n }\n\n setHeader(key: string, value: string): this {\n if (this.response) {\n this.response.header(key, value);\n }\n return this;\n }\n\n appendHeader(key: string, value: string, delimiter = ','): this {\n if (this.response) {\n const current = this.getHeader(key);\n if (!current) {\n return this.setHeader(key, value);\n }\n const newValue = [...current.split(delimiter), value].filter((el, i, a) => i === a.indexOf(el)).join(delimiter);\n this.response.header(key, newValue);\n }\n return this;\n }\n\n setHeaders(dictionary: { [key: string]: string }): this {\n if (this.response) {\n Object.keys(dictionary).forEach((key) => this.setHeader(key, dictionary[key]));\n }\n return this;\n }\n\n setStatus(code: number, message?: string): this {\n if (this.response) {\n this.response.statusCode = code;\n if (message) {\n this.response.statusMessage = message;\n }\n }\n return this;\n }\n\n setNotFound(message = 'Não encontrado'): this {\n if (this.response) {\n this.response.statusCode = 404;\n this.response.statusMessage = message;\n }\n return this;\n }\n\n setUnauthorized(message = 'Não autorizado'): this {\n if (this.response) {\n this.response.statusCode = 401;\n this.response.statusMessage = message;\n }\n return this;\n }\n\n setError(message = 'Erro interno de servidor'): this {\n if (this.response) {\n this.response.statusCode = 500;\n this.response.statusMessage = message;\n }\n return this;\n }\n\n setRedirect(\n { statusCode, message, url }: { statusCode?: number; message?: string; url?: string } = {\n statusCode: 301,\n message: 'Redirecionado permanentemente',\n url: undefined,\n },\n ): this {\n if (this.response) {\n this.response.statusCode = statusCode || 301;\n this.response.statusMessage = message || 'Redirecionado permanentemente';\n if (url) {\n this.response.locals['redirectUrl'] = url; // Utilizado no ssr para redirect\n }\n }\n return this;\n }\n}\n\nexport type HttpCacheDirective = 'public' | 'private' | 'no-store' | 'no-cache' | 'must-revalidate' | 'no-transform' | 'proxy-revalidate';\n","import { Injectable, inject, RESPONSE_INIT } from '@angular/core';\n\nexport interface ISsrResponseService {\n setStatus(code: number, message?: string): this;\n setNotFound(message?: string): this;\n setError(message?: string): this;\n setRedirect(params?: { statusCode?: number; url?: string }): this;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SsrResponseService implements ISsrResponseService {\n private readonly responseInit = inject(RESPONSE_INIT, { optional: true });\n\n setStatus(code: number, message?: string): this {\n if (this.responseInit) {\n this.responseInit.status = code;\n if (message !== undefined) {\n this.responseInit.statusText = message;\n }\n }\n return this;\n }\n\n setNotFound(message = 'Não encontrado'): this {\n if (this.responseInit) {\n this.responseInit.status = 404;\n this.responseInit.statusText = message;\n }\n return this;\n }\n\n setError(message = 'Erro interno de servidor'): this {\n if (this.responseInit) {\n this.responseInit.status = 500;\n this.responseInit.statusText = message;\n }\n return this;\n }\n\n setRedirect(\n params: { statusCode?: number; url?: string } = {\n statusCode: 301,\n url: undefined,\n },\n ): this {\n if (this.responseInit && params.url) {\n this.responseInit.status = params.statusCode ?? 301;\n this.responseInit.statusText = params.statusCode === 302 ? 'Found' : 'Moved Permanently';\n const existingHeaders = this.responseInit.headers ? new Headers(this.responseInit.headers as HeadersInit) : new Headers();\n existingHeaders.set('Location', params.url);\n this.responseInit.headers = existingHeaders;\n }\n return this;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
|