@rededor/site-front-end-lib 0.0.52 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/lib/components/algolia/algolia.component.mjs +12 -11
  2. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +38 -17
  3. package/esm2022/lib/components/cta-wrapper/cta-wrapper.component.mjs +11 -8
  4. package/esm2022/lib/components/error/error.component.mjs +3 -3
  5. package/esm2022/lib/components/index.mjs +2 -1
  6. package/esm2022/lib/components/page-header/page-header.component.mjs +16 -35
  7. package/esm2022/lib/components/page-template-sidebar/page-template-sidebar.component.mjs +14 -9
  8. package/esm2022/lib/components/section-navigation/section-navigation.component.mjs +67 -0
  9. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +2 -2
  10. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +3 -3
  11. package/esm2022/lib/models/section-navigation.model.mjs +2 -0
  12. package/esm2022/lib/services/scroll-service/scroll-service.service.mjs +39 -0
  13. package/fesm2022/rededor-site-front-end-lib.mjs +186 -79
  14. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  15. package/lib/components/algolia/algolia.component.d.ts +4 -2
  16. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +12 -9
  17. package/lib/components/cta-wrapper/cta-wrapper.component.d.ts +9 -3
  18. package/lib/components/index.d.ts +1 -0
  19. package/lib/components/page-header/page-header.component.d.ts +8 -14
  20. package/lib/components/page-template-sidebar/page-template-sidebar.component.d.ts +6 -7
  21. package/lib/components/section-navigation/section-navigation.component.d.ts +19 -0
  22. package/lib/models/section-navigation.model.d.ts +9 -0
  23. package/lib/services/scroll-service/scroll-service.service.d.ts +7 -0
  24. package/package.json +2 -2
  25. package/styles/_breakpoints.scss +1 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Inject, PLATFORM_ID, Optional, makeStateKey, signal, EventEmitter, Component, Input, Output, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, ViewChild, HostBinding, effect, Pipe } from '@angular/core';
2
+ import { InjectionToken, Injectable, Inject, PLATFORM_ID, Optional, makeStateKey, signal, EventEmitter, Component, Input, Output, Directive, HostListener, CUSTOM_ELEMENTS_SCHEMA, ViewChild, HostBinding, effect, inject, Pipe } from '@angular/core';
3
3
  import algoliasearch from 'algoliasearch';
4
4
  import { from, fromEvent, startWith, timeout, catchError, of, Observable, debounceTime, BehaviorSubject } from 'rxjs';
5
5
  import * as i2 from '@angular/common';
@@ -18330,11 +18330,11 @@ class SideCtasComponent {
18330
18330
  };
18331
18331
  }
18332
18332
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideCtasComponent, deps: [{ token: CuraService }], target: i0.ɵɵFactoryTarget.Component }); }
18333
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SideCtasComponent, isStandalone: true, selector: "rdsite-side-ctas", host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div\n class=\"rdsite-side-ctas-right\"\n [ngStyle]=\"{\n display: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? 'flex' : 'none',\n }\"\n>\n <div #rightTop class=\"rdsite-side-ctas-right-top\">\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\n </div>\n <div #rightMiddle class=\"rdsite-side-ctas-right-middle\">\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\n </div>\n <div #rightBottom class=\"rdsite-side-ctas-right-bottom\">\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"rdsite-side-ctas-bottom\"\n [ngStyle]=\"{\n display: bottom?.children?.length ? 'flex' : 'none',\n paddingRight: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? '88px' : '0px',\n }\"\n>\n <div #bottom class=\"rdsite-side-ctas-bottom-container\">\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:flex;justify-content:flex-end;padding-right:88px;background-color:transparent;height:88px}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
18333
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SideCtasComponent, isStandalone: true, selector: "rdsite-side-ctas", host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<div\n class=\"rdsite-side-ctas-right\"\n [ngStyle]=\"{\n display: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? 'flex' : 'none',\n }\"\n>\n <div #rightTop class=\"rdsite-side-ctas-right-top\">\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\n </div>\n <div #rightMiddle class=\"rdsite-side-ctas-right-middle\">\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\n </div>\n <div #rightBottom class=\"rdsite-side-ctas-right-bottom\">\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"rdsite-side-ctas-bottom\"\n [ngStyle]=\"{\n display: bottom?.children?.length ? 'flex' : 'none',\n paddingRight: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? '88px' : '0px',\n }\"\n>\n <div #bottom class=\"rdsite-side-ctas-bottom-container\">\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}@media only screen and (min-width: 1024px){:host{margin-top:-88px}}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:flex;justify-content:flex-end;padding-right:88px;background-color:transparent;height:88px}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
18334
18334
  }
18335
18335
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SideCtasComponent, decorators: [{
18336
18336
  type: Component,
18337
- args: [{ selector: 'rdsite-side-ctas', standalone: true, imports: [CommonModule], template: "<div\n class=\"rdsite-side-ctas-right\"\n [ngStyle]=\"{\n display: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? 'flex' : 'none',\n }\"\n>\n <div #rightTop class=\"rdsite-side-ctas-right-top\">\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\n </div>\n <div #rightMiddle class=\"rdsite-side-ctas-right-middle\">\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\n </div>\n <div #rightBottom class=\"rdsite-side-ctas-right-bottom\">\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"rdsite-side-ctas-bottom\"\n [ngStyle]=\"{\n display: bottom?.children?.length ? 'flex' : 'none',\n paddingRight: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? '88px' : '0px',\n }\"\n>\n <div #bottom class=\"rdsite-side-ctas-bottom-container\">\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:flex;justify-content:flex-end;padding-right:88px;background-color:transparent;height:88px}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"] }]
18337
+ args: [{ selector: 'rdsite-side-ctas', standalone: true, imports: [CommonModule], template: "<div\n class=\"rdsite-side-ctas-right\"\n [ngStyle]=\"{\n display: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? 'flex' : 'none',\n }\"\n>\n <div #rightTop class=\"rdsite-side-ctas-right-top\">\n <ng-content select=\"rdsite-side-ctas-right-top\"></ng-content>\n </div>\n <div #rightMiddle class=\"rdsite-side-ctas-right-middle\">\n <ng-content select=\"rdsite-side-ctas-right-middle\"></ng-content>\n </div>\n <div #rightBottom class=\"rdsite-side-ctas-right-bottom\">\n <ng-content select=\"rdsite-side-ctas-right-bottom\"></ng-content>\n </div>\n</div>\n\n<div\n class=\"rdsite-side-ctas-bottom\"\n [ngStyle]=\"{\n display: bottom?.children?.length ? 'flex' : 'none',\n paddingRight: rightTop?.children?.length || rightMiddle?.children?.length || rightBottom?.children?.length ? '88px' : '0px',\n }\"\n>\n <div #bottom class=\"rdsite-side-ctas-bottom-container\">\n <ng-content select=\"rdsite-side-ctas-bottom\"></ng-content>\n </div>\n</div>\n", styles: [":host{position:sticky;bottom:0;right:0;display:block;z-index:3003;pointer-events:none}@media only screen and (min-width: 1024px){:host{margin-top:-88px}}.rdsite-side-ctas-right{position:absolute;bottom:0;right:0;height:min-content;width:88px;background-color:var(--color-right);display:flex;flex-direction:column;justify-content:space-between;align-items:center;pointer-events:auto}.rdsite-side-ctas-right-middle{display:flex;flex-grow:1;align-items:center}.rdsite-side-ctas-bottom{display:flex;justify-content:flex-end;padding-right:88px;background-color:transparent;height:88px}.rdsite-side-ctas-bottom-container{pointer-events:auto;width:100%}@media only screen and (min-width: 1024px){.rdsite-side-ctas-right{height:calc(100vh - 80px)}.rdsite-side-ctas-bottom-container{width:fit-content;gap:10px}}\n"] }]
18338
18338
  }], ctorParameters: () => [{ type: CuraService }], propDecorators: { style: [{
18339
18339
  type: HostBinding,
18340
18340
  args: ['style']
@@ -18353,7 +18353,7 @@ class SideCtasBottomComponent {
18353
18353
  this.sideCtaBottomItemClick = new EventEmitter();
18354
18354
  this.style = {
18355
18355
  '--font-color': this.curaService.getColor('neutral-black'),
18356
- '--bg-color': this.curaService.getColor('neutral-purewhite'),
18356
+ '--bg-color': this.curaService.getColor('primary-dark'),
18357
18357
  '--bg-cta-color': this.curaService.getColor('accent-base'),
18358
18358
  '--bg-cta-hover-color': this.curaService.getColor('accent-dark'),
18359
18359
  '--bg-cta-active-color': this.curaService.getColor('accent-darker'),
@@ -18545,6 +18545,8 @@ class AlgoliaComponent {
18545
18545
  this.scrollY = null;
18546
18546
  this.resetItem = new EventEmitter();
18547
18547
  this.algoliaResults = new EventEmitter();
18548
+ this.focusEmit = new EventEmitter();
18549
+ this.blurEmit = new EventEmitter();
18548
18550
  }
18549
18551
  ngOnInit() {
18550
18552
  if (isPlatformBrowser(this.platformId)) {
@@ -18553,15 +18555,10 @@ class AlgoliaComponent {
18553
18555
  }
18554
18556
  }
18555
18557
  manageFocus() {
18556
- if (isPlatformBrowser(this.platformId) && this.isMobile) {
18557
- this.scrollY = window.scrollY;
18558
- window.scrollTo(0, 0);
18559
- }
18558
+ this.focusEmit.emit();
18560
18559
  }
18561
- manageScrollPosition() {
18562
- if (isPlatformBrowser(this.platformId) && this.isMobile && this.scrollY) {
18563
- window.scrollTo({ top: this.scrollY });
18564
- }
18560
+ manageBlur() {
18561
+ this.blurEmit.emit();
18565
18562
  }
18566
18563
  resetValues() {
18567
18564
  this.resetItem.emit();
@@ -18611,11 +18608,11 @@ class AlgoliaComponent {
18611
18608
  }
18612
18609
  }
18613
18610
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, deps: [{ token: AlgoliaSearchApiService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
18614
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AlgoliaComponent, isStandalone: true, selector: "rdsite-algolia", inputs: { algoliaConfig: "algoliaConfig", label: "label", name: "name", required: "required", selected: "selected", value: "value", placeholder: "placeholder", deleteButton: "deleteButton", iconName: "iconName", status: "status", startSearchAtCharLen: "startSearchAtCharLen", hintTitle: "hintTitle", hints: "hints", searchParams: "searchParams" }, outputs: { resetItem: "resetItem", algoliaResults: "algoliaResults" }, ngImport: i0, template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageScrollPosition()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}@media only screen and (min-width: 769px){cura-dropdown-search{position:relative;z-index:1}}\n"] }); }
18611
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: AlgoliaComponent, isStandalone: true, selector: "rdsite-algolia", inputs: { algoliaConfig: "algoliaConfig", label: "label", name: "name", required: "required", selected: "selected", value: "value", placeholder: "placeholder", deleteButton: "deleteButton", iconName: "iconName", status: "status", startSearchAtCharLen: "startSearchAtCharLen", hintTitle: "hintTitle", hints: "hints", searchParams: "searchParams" }, outputs: { resetItem: "resetItem", algoliaResults: "algoliaResults", focusEmit: "focusEmit", blurEmit: "blurEmit" }, ngImport: i0, template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageBlur()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n<ng-content select=\"app-planos-e-convenios-tooltip\"></ng-content>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}\n"] }); }
18615
18612
  }
18616
18613
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AlgoliaComponent, decorators: [{
18617
18614
  type: Component,
18618
- args: [{ selector: 'rdsite-algolia', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageScrollPosition()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}@media only screen and (min-width: 769px){cura-dropdown-search{position:relative;z-index:1}}\n"] }]
18615
+ args: [{ selector: 'rdsite-algolia', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<cura-dropdown-search\n [value]=\"value\"\n [status]=\"status\"\n [name]=\"name\"\n [required]=\"required\"\n [selected]=\"selected\"\n [label]=\"label\"\n [iconName]=\"iconName\"\n [placeholder]=\"placeholder\"\n (valueChange)=\"resetValues()\"\n (input)=\"termChange($event)\"\n (focus)=\"manageFocus()\"\n (blur)=\"manageBlur()\"\n>\n @if (status === 'error') {\n <cura-dropdown-search-option name=\"error\">\n <div class=\"head\">\n <cura-icon size=\"24\" name=\"alertCircle\" color=\"error-700\"></cura-icon>\n <cura-paragraph size=\"small\" color=\"error-700\" weight=\"bold\"> N\u00E3o h\u00E1 nenhum resultado para \"{{ searchTerm.toUpperCase() }}\".</cura-paragraph>\n </div>\n </cura-dropdown-search-option>\n }\n <ng-content></ng-content>\n</cura-dropdown-search>\n<ng-content select=\"app-planos-e-convenios-tooltip\"></ng-content>\n", styles: ["cura-dropdown-search-option[name=error]{pointer-events:none;cursor:default}cura-dropdown-search-option[name=error] .head{display:flex;flex-direction:row;justify-content:center;align-items:center;justify-content:flex-start;gap:8px;width:100%}cura-dropdown-search-option[name=error]::ng-deep cura-label{background-color:transparent!important}cura-dropdown-search-option[name=error]:hover{background-color:inherit;color:inherit;pointer-events:none}\n"] }]
18619
18616
  }], ctorParameters: () => [{ type: AlgoliaSearchApiService }, { type: undefined, decorators: [{
18620
18617
  type: Inject,
18621
18618
  args: [PLATFORM_ID]
@@ -18652,6 +18649,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
18652
18649
  type: Output
18653
18650
  }], algoliaResults: [{
18654
18651
  type: Output
18652
+ }], focusEmit: [{
18653
+ type: Output
18654
+ }], blurEmit: [{
18655
+ type: Output
18655
18656
  }] } });
18656
18657
 
18657
18658
  const xSmallBreakpoint = 361;
@@ -18675,15 +18676,14 @@ class CtaWrapperComponent {
18675
18676
  this.curaService = curaService;
18676
18677
  this.nguService = nguService;
18677
18678
  this.platformId = platformId;
18678
- this.colors = {
18679
- border: 'primary-darker',
18680
- icon: 'primary-darker',
18681
- };
18679
+ this.colors = {};
18682
18680
  this.seeMoreControl = false;
18683
18681
  this.styleBinding = {
18684
18682
  '--more-options-color': this.curaService.getColor(this.colors.icon),
18685
18683
  '--border-color': this.curaService.getColor(this.colors.border),
18686
18684
  '--label-color': this.curaService.getColor(this.colors.icon),
18685
+ '--title-color': this.curaService.getColor(this.colors?.title),
18686
+ '--text-color': this.curaService.getColor(this.colors?.text),
18687
18687
  };
18688
18688
  this.class = true;
18689
18689
  }
@@ -18704,15 +18704,19 @@ class CtaWrapperComponent {
18704
18704
  this.seeMoreControl = !this.seeMoreControl;
18705
18705
  }
18706
18706
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CtaWrapperComponent, deps: [{ token: CuraService }, { token: NguCarouselService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
18707
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CtaWrapperComponent, isStandalone: true, selector: "rdsite-cta-wrapper", inputs: { ctas: "ctas", colors: "colors" }, host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "style": "this.styleBinding", "class.wp-content-wrapper": "this.class" } }, viewQueries: [{ propertyName: "nguCarouselCtas", first: true, predicate: ["nguCarouselCtas"], descendants: true }], ngImport: i0, template: "@if (!seeMoreControl) {\n @if (!bannerControl) {\n <ngu-carousel #nguCarouselCtas [inputs]=\"carouselCtasConfig\" [dataSource]=\"ctas\">\n <ngu-item *nguCarouselDef=\"let cta; let i = index\">\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n </ngu-item>\n </ngu-carousel>\n @if (ctas.length > 3) {\n <div class=\"show-more\">\n <button type=\"button\" (click)=\"moreOptions()\">Mais op\u00E7\u00F5es</button>\n </div>\n }\n } @else {\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n }\n}\n@if (seeMoreControl) {\n <div class=\"more-options\">\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-wrap:wrap;gap:16px}:host ngu-carousel{max-width:100vw}:host ngu-item a{margin-right:16px}:host .show-more{display:flex;justify-content:flex-end;width:100%;height:auto}:host .show-more button{color:var(--more-options-color);background-color:transparent;font-size:16px;font-weight:500;line-height:145%;letter-spacing:.32px;text-decoration-line:underline;text-align:center}.more-options{display:flex;flex-wrap:wrap;gap:16px}.more-options .cta{height:auto}.cta{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:150px;height:100%;min-height:150px;padding:24px 16px;border-radius:4px;border:1px solid var(--border-color);text-decoration:none}.cta p{color:var(--label-color);font-size:12px;font-weight:700;line-height:145%;letter-spacing:.32px;padding:0;margin:0;text-align:center}\n"], dependencies: [{ kind: "component", type: NguCarousel, selector: "ngu-carousel", inputs: ["inputs", "dataSource", "trackBy"], outputs: ["carouselLoad", "onMove"] }, { kind: "component", type: NguItemComponent, selector: "ngu-item" }, { kind: "directive", type: NguCarouselDefDirective, selector: "[nguCarouselDef]" }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }] }); }
18707
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CtaWrapperComponent, isStandalone: true, selector: "rdsite-cta-wrapper", inputs: { title: "title", text: "text", ctas: "ctas", colors: "colors" }, host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "style": "this.styleBinding", "class.wp-content-wrapper": "this.class" } }, viewQueries: [{ propertyName: "nguCarouselCtas", first: true, predicate: ["nguCarouselCtas"], descendants: true }], ngImport: i0, template: "@if (title) {\n <h3 class=\"ctas-title\">{{ title }}</h3>\n}\n\n@if (text) {\n <p class=\"ctas-text\" [innerHTML]=\"text\"></p>\n}\n\n@if (!seeMoreControl) {\n <div class=\"ctas-wrapper\">\n @if (!bannerControl) {\n <ngu-carousel #nguCarouselCtas [inputs]=\"carouselCtasConfig\" [dataSource]=\"ctas\">\n <ngu-item *nguCarouselDef=\"let cta; let i = index\">\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n </ngu-item>\n </ngu-carousel>\n @if (ctas.length > 3) {\n <div class=\"show-more\">\n <button type=\"button\" (click)=\"moreOptions()\">Mais op\u00E7\u00F5es</button>\n </div>\n }\n } @else {\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n }\n </div>\n}\n@if (seeMoreControl) {\n <div class=\"more-options\">\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n </div>\n}\n", styles: [":host{display:block}:host .ctas-title,:host .ctas-text{padding:0;margin:0}:host .ctas-title:not(:last-child),:host .ctas-text:not(:last-child){padding-bottom:0}:host .ctas-title{color:var(--title-color);font-size:29px;font-weight:500;line-height:38px;letter-spacing:-.58px;padding:0 24px;margin-bottom:24px}@media only screen and (min-width: 769px){:host .ctas-title{font-size:33px;line-height:43px;letter-spacing:-.66px;padding:0}}:host .ctas-text{color:rgb(var(--text-color));font-size:17px;font-weight:400;line-height:25px;padding:0 24px}@media only screen and (min-width: 769px){:host .ctas-text{font-size:19px;line-height:28px;padding:0}}:host .ctas-wrapper{display:flex;flex-wrap:wrap;gap:16px}@media only screen and (min-width: 769px){:host .ctas-wrapper{margin-top:80px}}:host .ctas-wrapper ngu-carousel{max-width:100vw}:host .ctas-wrapper ngu-item a{margin-right:16px}:host .ctas-wrapper .show-more{display:flex;justify-content:flex-end;width:100%;height:auto}:host .ctas-wrapper .show-more button{color:var(--more-options-color);background-color:transparent;font-size:16px;font-weight:500;line-height:145%;letter-spacing:.32px;text-decoration-line:underline;text-align:center}:host .more-options{display:flex;flex-wrap:wrap;gap:16px}:host .more-options .cta{height:auto}:host .cta{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:150px;height:100%;min-height:150px;padding:24px 16px;border-radius:4px;border:1px solid var(--border-color);text-decoration:none}:host .cta p{color:var(--label-color);font-size:12px;font-weight:700;line-height:145%;letter-spacing:.32px;padding:0;margin:0;text-align:center}\n"], dependencies: [{ kind: "component", type: NguCarousel, selector: "ngu-carousel", inputs: ["inputs", "dataSource", "trackBy"], outputs: ["carouselLoad", "onMove"] }, { kind: "component", type: NguItemComponent, selector: "ngu-item" }, { kind: "directive", type: NguCarouselDefDirective, selector: "[nguCarouselDef]" }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }] }); }
18708
18708
  }
18709
18709
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CtaWrapperComponent, decorators: [{
18710
18710
  type: Component,
18711
- args: [{ selector: 'rdsite-cta-wrapper', standalone: true, imports: [NguCarousel, NguItemComponent, NguCarouselDefDirective, RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (!seeMoreControl) {\n @if (!bannerControl) {\n <ngu-carousel #nguCarouselCtas [inputs]=\"carouselCtasConfig\" [dataSource]=\"ctas\">\n <ngu-item *nguCarouselDef=\"let cta; let i = index\">\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n </ngu-item>\n </ngu-carousel>\n @if (ctas.length > 3) {\n <div class=\"show-more\">\n <button type=\"button\" (click)=\"moreOptions()\">Mais op\u00E7\u00F5es</button>\n </div>\n }\n } @else {\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n }\n}\n@if (seeMoreControl) {\n <div class=\"more-options\">\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n </div>\n}\n", styles: [":host{display:flex;flex-wrap:wrap;gap:16px}:host ngu-carousel{max-width:100vw}:host ngu-item a{margin-right:16px}:host .show-more{display:flex;justify-content:flex-end;width:100%;height:auto}:host .show-more button{color:var(--more-options-color);background-color:transparent;font-size:16px;font-weight:500;line-height:145%;letter-spacing:.32px;text-decoration-line:underline;text-align:center}.more-options{display:flex;flex-wrap:wrap;gap:16px}.more-options .cta{height:auto}.cta{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:150px;height:100%;min-height:150px;padding:24px 16px;border-radius:4px;border:1px solid var(--border-color);text-decoration:none}.cta p{color:var(--label-color);font-size:12px;font-weight:700;line-height:145%;letter-spacing:.32px;padding:0;margin:0;text-align:center}\n"] }]
18711
+ args: [{ selector: 'rdsite-cta-wrapper', standalone: true, imports: [NguCarousel, NguItemComponent, NguCarouselDefDirective, RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (title) {\n <h3 class=\"ctas-title\">{{ title }}</h3>\n}\n\n@if (text) {\n <p class=\"ctas-text\" [innerHTML]=\"text\"></p>\n}\n\n@if (!seeMoreControl) {\n <div class=\"ctas-wrapper\">\n @if (!bannerControl) {\n <ngu-carousel #nguCarouselCtas [inputs]=\"carouselCtasConfig\" [dataSource]=\"ctas\">\n <ngu-item *nguCarouselDef=\"let cta; let i = index\">\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n </ngu-item>\n </ngu-carousel>\n @if (ctas.length > 3) {\n <div class=\"show-more\">\n <button type=\"button\" (click)=\"moreOptions()\">Mais op\u00E7\u00F5es</button>\n </div>\n }\n } @else {\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n }\n </div>\n}\n@if (seeMoreControl) {\n <div class=\"more-options\">\n @for (cta of ctas; track cta) {\n <a rdsitelink class=\"cta\" [href]=\"cta?.link\">\n @if (cta?.icon) {\n <cura-icon [attr.name]=\"cta?.icon\" size=\"24\" [color]=\"colors.icon\"></cura-icon>\n }\n <p>{{ cta?.label }}</p>\n </a>\n }\n </div>\n}\n", styles: [":host{display:block}:host .ctas-title,:host .ctas-text{padding:0;margin:0}:host .ctas-title:not(:last-child),:host .ctas-text:not(:last-child){padding-bottom:0}:host .ctas-title{color:var(--title-color);font-size:29px;font-weight:500;line-height:38px;letter-spacing:-.58px;padding:0 24px;margin-bottom:24px}@media only screen and (min-width: 769px){:host .ctas-title{font-size:33px;line-height:43px;letter-spacing:-.66px;padding:0}}:host .ctas-text{color:rgb(var(--text-color));font-size:17px;font-weight:400;line-height:25px;padding:0 24px}@media only screen and (min-width: 769px){:host .ctas-text{font-size:19px;line-height:28px;padding:0}}:host .ctas-wrapper{display:flex;flex-wrap:wrap;gap:16px}@media only screen and (min-width: 769px){:host .ctas-wrapper{margin-top:80px}}:host .ctas-wrapper ngu-carousel{max-width:100vw}:host .ctas-wrapper ngu-item a{margin-right:16px}:host .ctas-wrapper .show-more{display:flex;justify-content:flex-end;width:100%;height:auto}:host .ctas-wrapper .show-more button{color:var(--more-options-color);background-color:transparent;font-size:16px;font-weight:500;line-height:145%;letter-spacing:.32px;text-decoration-line:underline;text-align:center}:host .more-options{display:flex;flex-wrap:wrap;gap:16px}:host .more-options .cta{height:auto}:host .cta{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-width:150px;height:100%;min-height:150px;padding:24px 16px;border-radius:4px;border:1px solid var(--border-color);text-decoration:none}:host .cta p{color:var(--label-color);font-size:12px;font-weight:700;line-height:145%;letter-spacing:.32px;padding:0;margin:0;text-align:center}\n"] }]
18712
18712
  }], ctorParameters: () => [{ type: CuraService }, { type: NguCarouselService }, { type: undefined, decorators: [{
18713
18713
  type: Inject,
18714
18714
  args: [PLATFORM_ID]
18715
- }] }], propDecorators: { ctas: [{
18715
+ }] }], propDecorators: { title: [{
18716
+ type: Input
18717
+ }], text: [{
18718
+ type: Input
18719
+ }], ctas: [{
18716
18720
  type: Input
18717
18721
  }], colors: [{
18718
18722
  type: Input
@@ -18740,18 +18744,31 @@ class BreadcrumbsComponent {
18740
18744
  get breadcrumbs() {
18741
18745
  return this._breadcrumbs;
18742
18746
  }
18743
- constructor(curaService, libConfig, document) {
18747
+ onWindowResize() {
18748
+ this.setIsDesktop();
18749
+ }
18750
+ constructor(curaService, libConfig, document, platformId) {
18744
18751
  this.curaService = curaService;
18745
18752
  this.libConfig = libConfig;
18746
18753
  this.document = document;
18747
- this.fontColor = this.curaService.getColor('primary');
18754
+ this.platformId = platformId;
18755
+ this.labelIconColor = 'neutral-purewhite';
18748
18756
  this._breadcrumbs = [];
18749
18757
  this.breadcrumbsJsonTagId = 'breadcrumbsJSON';
18750
- this.style = {
18751
- '--font-size': this.curaService.getFontSize(),
18752
- '--font-color': this.fontColor,
18753
- '--symbol-color': this.curaService.getColor('neutral-dark'),
18754
- };
18758
+ }
18759
+ ngAfterViewInit() {
18760
+ this.getColors(this.labelIconColor);
18761
+ this.setIsDesktop();
18762
+ }
18763
+ setIsDesktop() {
18764
+ if (isPlatformBrowser(this.platformId)) {
18765
+ this.isDesktop = window.innerWidth > MediaQueries.smallBreakpoint;
18766
+ }
18767
+ }
18768
+ getColors(color) {
18769
+ this.breadCrumbsElement.nativeElement.style.setProperty('--label-icon-color', this.curaService.getColor(color));
18770
+ this.breadCrumbsElement.nativeElement.style.setProperty('--divider-color', this.curaService.getColor('neutral-light'));
18771
+ this.breadCrumbsElement.nativeElement.style.setProperty('--disabled-color', this.curaService.getColor('neutral-dark'));
18755
18772
  }
18756
18773
  getUrl(urls = []) {
18757
18774
  return urls.join('');
@@ -18798,25 +18815,31 @@ class BreadcrumbsComponent {
18798
18815
  return jsonItem;
18799
18816
  });
18800
18817
  }
18801
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: CuraService }, { token: LIB_CONFIG }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
18802
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BreadcrumbsComponent, isStandalone: true, selector: "rdsite-breadcrumbs", inputs: { fontColor: "fontColor", breadcrumbs: "breadcrumbs" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "@if (breadcrumbs.length) {\n <nav class=\"breadcrumbs\" aria-label=\"breadcrumbs\">\n <ul>\n @for (item of breadcrumbs; track item.label; let i = $index; let last = $last; let first = $first) {\n <li>\n @if (item.url) {\n <a [href]=\"item.url\" rdsitelink [class.last]=\"last\">\n @if (first && item.icon) {\n <cura-icon [name]=\"item.icon\" [color]=\"item.iconColor\" [size]=\"item.iconSize\" [disabled]=\"item.iconDisabled\"> </cura-icon>\n }\n {{ item.label }}\n </a>\n } @else {\n @if (first && item.icon) {\n <cura-icon [name]=\"item.icon\" [color]=\"item.iconColor\" [size]=\"item.iconSize\" [disabled]=\"item.iconDisabled\"> </cura-icon>\n }\n <p [class.last]=\"last\">{{ item.label }}</p>\n }\n @if (!last && breadcrumbs.length > 1) {\n <span>/</span>\n }\n </li>\n }\n </ul>\n </nav>\n}\n", styles: [".breadcrumbs{padding-block:16px;margin:0}ul{display:flex;justify-content:start;align-items:center;gap:8px;margin:0;padding:0}li{display:flex;justify-content:center;align-items:center;margin:0;padding:0;font-size:var(--font-size);font-weight:500;color:var(--font-color)}.last{color:var(--symbol-color);text-decoration:none}li span{margin-left:8px;color:var(--symbol-color)}a{display:flex;justify-content:space-between;align-items:flex-end;gap:4px;text-align:center;padding:0;text-decoration:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:1px;text-underline-offset:auto;text-decoration-color:var(--font-color);font-size:12px;color:var(--font-color)}a:hover{text-decoration:none;transition:text-decoration .5s ease-in-out}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }] }); }
18818
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbsComponent, deps: [{ token: CuraService }, { token: LIB_CONFIG }, { token: DOCUMENT }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
18819
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BreadcrumbsComponent, isStandalone: true, selector: "rdsite-breadcrumbs", inputs: { labelIconColor: "labelIconColor", breadcrumbs: "breadcrumbs" }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "breadCrumbsElement", first: true, predicate: ["breadCrumbsElement"], descendants: true }], ngImport: i0, template: "@if (breadcrumbs.length) {\n <nav class=\"breadcrumb\" #breadCrumbsElement>\n <ol>\n @if (isDesktop || breadcrumbs.length < 3) {\n <ng-container *ngTemplateOutlet=\"Desktop\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"Mobile\"></ng-container>\n }\n </ol>\n </nav>\n}\n\n<ng-template #Desktop>\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\n <li>\n @if (!last) {\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n @if (first) {\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\n }\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n <span class=\"divider\">/</span>\n } @else {\n <span [class.last-item]=\"last && !first\">\n {{ breadcrumb.label }}\n </span>\n }\n </li>\n }\n</ng-template>\n\n<ng-template #Mobile>\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\n <li>\n @if (first) {\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n <span class=\"divider\">/</span>\n } @else if (index === breadcrumbs.length - 2) {\n <span class=\"back\"><</span>\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n }\n </li>\n }\n</ng-template>\n", styles: [".breadcrumb ol{display:flex}.breadcrumb ol li{display:flex;gap:8px}.breadcrumb ol li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.breadcrumb ol li a span{text-decoration:underline;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.divider,.breadcrumb ol li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.back{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }] }); }
18803
18820
  }
18804
18821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
18805
18822
  type: Component,
18806
- args: [{ selector: 'rdsite-breadcrumbs', standalone: true, imports: [CommonModule, RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (breadcrumbs.length) {\n <nav class=\"breadcrumbs\" aria-label=\"breadcrumbs\">\n <ul>\n @for (item of breadcrumbs; track item.label; let i = $index; let last = $last; let first = $first) {\n <li>\n @if (item.url) {\n <a [href]=\"item.url\" rdsitelink [class.last]=\"last\">\n @if (first && item.icon) {\n <cura-icon [name]=\"item.icon\" [color]=\"item.iconColor\" [size]=\"item.iconSize\" [disabled]=\"item.iconDisabled\"> </cura-icon>\n }\n {{ item.label }}\n </a>\n } @else {\n @if (first && item.icon) {\n <cura-icon [name]=\"item.icon\" [color]=\"item.iconColor\" [size]=\"item.iconSize\" [disabled]=\"item.iconDisabled\"> </cura-icon>\n }\n <p [class.last]=\"last\">{{ item.label }}</p>\n }\n @if (!last && breadcrumbs.length > 1) {\n <span>/</span>\n }\n </li>\n }\n </ul>\n </nav>\n}\n", styles: [".breadcrumbs{padding-block:16px;margin:0}ul{display:flex;justify-content:start;align-items:center;gap:8px;margin:0;padding:0}li{display:flex;justify-content:center;align-items:center;margin:0;padding:0;font-size:var(--font-size);font-weight:500;color:var(--font-color)}.last{color:var(--symbol-color);text-decoration:none}li span{margin-left:8px;color:var(--symbol-color)}a{display:flex;justify-content:space-between;align-items:flex-end;gap:4px;text-align:center;padding:0;text-decoration:underline;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-thickness:1px;text-underline-offset:auto;text-decoration-color:var(--font-color);font-size:12px;color:var(--font-color)}a:hover{text-decoration:none;transition:text-decoration .5s ease-in-out}\n"] }]
18823
+ args: [{ selector: 'rdsite-breadcrumbs', standalone: true, imports: [CommonModule, RdsiteLinkDirective], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if (breadcrumbs.length) {\n <nav class=\"breadcrumb\" #breadCrumbsElement>\n <ol>\n @if (isDesktop || breadcrumbs.length < 3) {\n <ng-container *ngTemplateOutlet=\"Desktop\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"Mobile\"></ng-container>\n }\n </ol>\n </nav>\n}\n\n<ng-template #Desktop>\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\n <li>\n @if (!last) {\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n @if (first) {\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\n }\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n <span class=\"divider\">/</span>\n } @else {\n <span [class.last-item]=\"last && !first\">\n {{ breadcrumb.label }}\n </span>\n }\n </li>\n }\n</ng-template>\n\n<ng-template #Mobile>\n @for (breadcrumb of breadcrumbs; track breadcrumb.label; let first = $first; let last = $last; let index = $index) {\n <li>\n @if (first) {\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n <cura-icon name=\"home\" [attr.color]=\"labelIconColor\" size=\"16\"> </cura-icon>\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n <span class=\"divider\">/</span>\n } @else if (index === breadcrumbs.length - 2) {\n <span class=\"back\"><</span>\n <a rdsitelink [href]=\"getUrl(breadcrumb.url)\">\n <span>\n {{ breadcrumb.label }}\n </span>\n </a>\n }\n </li>\n }\n</ng-template>\n", styles: [".breadcrumb ol{display:flex}.breadcrumb ol li{display:flex;gap:8px}.breadcrumb ol li a{color:var(--label-icon-color);display:flex;gap:4px;text-decoration:none}.breadcrumb ol li a span{text-decoration:underline;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.last-item{color:var(--disabled-color);text-decoration:none;pointer-events:none;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.divider,.breadcrumb ol li span.back{color:var(--divider-color);padding-right:8px;font-size:12px;font-weight:500;line-height:16px;letter-spacing:.72px}.breadcrumb ol li span.back{padding:0}\n"] }]
18807
18824
  }], ctorParameters: () => [{ type: CuraService }, { type: undefined, decorators: [{
18808
18825
  type: Inject,
18809
18826
  args: [LIB_CONFIG]
18810
18827
  }] }, { type: Document, decorators: [{
18811
18828
  type: Inject,
18812
18829
  args: [DOCUMENT]
18813
- }] }], propDecorators: { fontColor: [{
18830
+ }] }, { type: undefined, decorators: [{
18831
+ type: Inject,
18832
+ args: [PLATFORM_ID]
18833
+ }] }], propDecorators: { labelIconColor: [{
18814
18834
  type: Input
18815
18835
  }], breadcrumbs: [{
18816
18836
  type: Input
18817
- }], style: [{
18818
- type: HostBinding,
18819
- args: ['style']
18837
+ }], breadCrumbsElement: [{
18838
+ type: ViewChild,
18839
+ args: ['breadCrumbsElement']
18840
+ }], onWindowResize: [{
18841
+ type: HostListener,
18842
+ args: ['window:resize']
18820
18843
  }] } });
18821
18844
 
18822
18845
  var Estados;
@@ -18985,11 +19008,11 @@ class ErrorComponent {
18985
19008
  this.ctasSubscription?.unsubscribe();
18986
19009
  }
18987
19010
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, deps: [{ token: ErrorService }, { token: CuraService }, { token: LogService }, { token: SeoService }, { token: ServerResponseService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
18988
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorComponent, isStandalone: true, selector: "rdsite-error", inputs: { theme: "theme", type: "type", returnRoute: "returnRoute", returnLabel: "returnLabel", pageTitle: "pageTitle", component: "component", breadcrumbsItems: "breadcrumbsItems" }, viewQueries: [{ propertyName: "errorElement", first: true, predicate: ["errorElement"], descendants: true }], ngImport: i0, template: "<div class=\"rdsite-error\" #errorElement>\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [fontColor]=\"ctasBorderColor\"></rdsite-breadcrumbs>\n <div class=\"rdsite-error-container\">\n <cura-label [color]=\"labelTextColor\">\n {{ type === 'server-response' ? '500' : '404' }}\n </cura-label>\n\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\n\n <cura-paragraph color=\"neutral-black\" size=\"large\">\n {{ responseText }}\n </cura-paragraph>\n\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\n <cura-button\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonColor\"\n font-color=\"light\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button>\n }\n\n @if (type === error.SERVER_RESPONSE) {\n @if (curaButtonColor) {\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [attr.color]=\"curaButtonColor\" font-color=\"light\" icon-name=\"arrowLeft\" target=\"_self\">\n Atualizar p\u00E1gina novamente\n </cura-button>\n }\n\n @if (returnLabel && returnRoute) {\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\n @if (curaButtonOutlineColor) {\n <cura-button-outline\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonOutlineColor\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button-outline>\n }\n }\n }\n\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\n\n @if (ctas.length > 0) {\n <rdsite-cta-wrapper [ctas]=\"ctas\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\n }\n </div>\n</div>\n", styles: [".richet-container,.rdsite-error-container,.rdsite-error rdsite-breadcrumbs{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error-container{padding:48px 0 40px}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}.rdsite-error-container cura-paragraph.wrapper-text{margin-top:80px}\n"], dependencies: [{ kind: "component", type: CtaWrapperComponent, selector: "rdsite-cta-wrapper", inputs: ["ctas", "colors"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: BreadcrumbsComponent, selector: "rdsite-breadcrumbs", inputs: ["fontColor", "breadcrumbs"] }] }); }
19011
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ErrorComponent, isStandalone: true, selector: "rdsite-error", inputs: { theme: "theme", type: "type", returnRoute: "returnRoute", returnLabel: "returnLabel", pageTitle: "pageTitle", component: "component", breadcrumbsItems: "breadcrumbsItems" }, viewQueries: [{ propertyName: "errorElement", first: true, predicate: ["errorElement"], descendants: true }], ngImport: i0, template: "<div class=\"rdsite-error\" #errorElement>\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [labelIconColor]=\"ctasIconColor\"></rdsite-breadcrumbs>\n <div class=\"rdsite-error-container\">\n <cura-label [color]=\"labelTextColor\">\n {{ type === 'server-response' ? '500' : '404' }}\n </cura-label>\n\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\n\n <cura-paragraph color=\"neutral-black\" size=\"large\">\n {{ responseText }}\n </cura-paragraph>\n\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\n <cura-button\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonColor\"\n font-color=\"light\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button>\n }\n\n @if (type === error.SERVER_RESPONSE) {\n @if (curaButtonColor) {\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [attr.color]=\"curaButtonColor\" font-color=\"light\" icon-name=\"arrowLeft\" target=\"_self\">\n Atualizar p\u00E1gina novamente\n </cura-button>\n }\n\n @if (returnLabel && returnRoute) {\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\n @if (curaButtonOutlineColor) {\n <cura-button-outline\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonOutlineColor\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button-outline>\n }\n }\n }\n\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\n\n @if (ctas.length > 0) {\n <rdsite-cta-wrapper [ctas]=\"ctas\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\n }\n </div>\n</div>\n", styles: [".rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error rdsite-breadcrumbs{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error rdsite-breadcrumbs.full-container{width:100%;max-width:100%}.rdsite-error-container{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto;padding:48px 0 40px}.rdsite-error-container.full-container{width:100%;max-width:100%}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}.rdsite-error-container cura-paragraph.wrapper-text{margin-top:80px}\n"], dependencies: [{ kind: "component", type: CtaWrapperComponent, selector: "rdsite-cta-wrapper", inputs: ["title", "text", "ctas", "colors"] }, { kind: "directive", type: RdsiteLinkDirective, selector: "[rdsitelink]", inputs: ["anchorAdjustment", "anchorExtraAdjustment", "phonemodal"] }, { kind: "component", type: BreadcrumbsComponent, selector: "rdsite-breadcrumbs", inputs: ["labelIconColor", "breadcrumbs"] }] }); }
18989
19012
  }
18990
19013
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ErrorComponent, decorators: [{
18991
19014
  type: Component,
18992
- args: [{ selector: 'rdsite-error', standalone: true, imports: [CtaWrapperComponent, RdsiteLinkDirective, BreadcrumbsComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"rdsite-error\" #errorElement>\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [fontColor]=\"ctasBorderColor\"></rdsite-breadcrumbs>\n <div class=\"rdsite-error-container\">\n <cura-label [color]=\"labelTextColor\">\n {{ type === 'server-response' ? '500' : '404' }}\n </cura-label>\n\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\n\n <cura-paragraph color=\"neutral-black\" size=\"large\">\n {{ responseText }}\n </cura-paragraph>\n\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\n <cura-button\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonColor\"\n font-color=\"light\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button>\n }\n\n @if (type === error.SERVER_RESPONSE) {\n @if (curaButtonColor) {\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [attr.color]=\"curaButtonColor\" font-color=\"light\" icon-name=\"arrowLeft\" target=\"_self\">\n Atualizar p\u00E1gina novamente\n </cura-button>\n }\n\n @if (returnLabel && returnRoute) {\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\n @if (curaButtonOutlineColor) {\n <cura-button-outline\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonOutlineColor\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button-outline>\n }\n }\n }\n\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\n\n @if (ctas.length > 0) {\n <rdsite-cta-wrapper [ctas]=\"ctas\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\n }\n </div>\n</div>\n", styles: [".richet-container,.rdsite-error-container,.rdsite-error rdsite-breadcrumbs{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error-container{padding:48px 0 40px}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}.rdsite-error-container cura-paragraph.wrapper-text{margin-top:80px}\n"] }]
19015
+ args: [{ selector: 'rdsite-error', standalone: true, imports: [CtaWrapperComponent, RdsiteLinkDirective, BreadcrumbsComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"rdsite-error\" #errorElement>\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbsItems\" [labelIconColor]=\"ctasIconColor\"></rdsite-breadcrumbs>\n <div class=\"rdsite-error-container\">\n <cura-label [color]=\"labelTextColor\">\n {{ type === 'server-response' ? '500' : '404' }}\n </cura-label>\n\n <cura-heading color=\"neutral-black\" size=\"medium\" weight=\"bold\"> Algo deu errado :( </cura-heading>\n\n <cura-paragraph color=\"neutral-black\" size=\"large\">\n {{ responseText }}\n </cura-paragraph>\n\n @if (type === error.NOT_FOUND && returnRoute && returnLabel) {\n <cura-button\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonColor\"\n font-color=\"light\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button>\n }\n\n @if (type === error.SERVER_RESPONSE) {\n @if (curaButtonColor) {\n <cura-button size=\"medium\" type=\"button\" (click)=\"reloadPage()\" [attr.color]=\"curaButtonColor\" font-color=\"light\" icon-name=\"arrowLeft\" target=\"_self\">\n Atualizar p\u00E1gina novamente\n </cura-button>\n }\n\n @if (returnLabel && returnRoute) {\n <cura-paragraph color=\"neutral-black\" size=\"large\">ou</cura-paragraph>\n @if (curaButtonOutlineColor) {\n <cura-button-outline\n rdsitelink\n [href]=\"returnRoute\"\n size=\"medium\"\n type=\"button\"\n [color]=\"curaButtonOutlineColor\"\n icon-name=\"arrowLeft\"\n target=\"_self\"\n >\n Voltar para {{ returnLabel }}\n </cura-button-outline>\n }\n }\n }\n\n <cura-paragraph class=\"wrapper-text\" color=\"neutral-black\" size=\"large\"> Voc\u00EA pode tamb\u00E9m: </cura-paragraph>\n\n @if (ctas.length > 0) {\n <rdsite-cta-wrapper [ctas]=\"ctas\" [colors]=\"{ border: ctasBorderColor, icon: ctasIconColor }\"></rdsite-cta-wrapper>\n }\n </div>\n</div>\n", styles: [".rdsite-error{width:100%;background-color:var(--backgroundColor)}.rdsite-error rdsite-breadcrumbs{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.rdsite-error rdsite-breadcrumbs.full-container{width:100%;max-width:100%}.rdsite-error-container{display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto;padding:48px 0 40px}.rdsite-error-container.full-container{width:100%;max-width:100%}.rdsite-error-container cura-label{width:fit-content;padding:var(--sizes-space-tiny, 4px);border-radius:var(--sizes-cornerRadius-nano, 2px);background:var(--labelColor)}.rdsite-error-container cura-heading{--margin-block: 40px}.rdsite-error-container cura-paragraph.wrapper-text{margin-top:80px}\n"] }]
18993
19016
  }], ctorParameters: () => [{ type: ErrorService }, { type: CuraService }, { type: LogService }, { type: SeoService }, { type: ServerResponseService }, { type: undefined, decorators: [{
18994
19017
  type: Inject,
18995
19018
  args: [PLATFORM_ID]
@@ -19013,75 +19036,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
19013
19036
  }] } });
19014
19037
 
19015
19038
  class PageHeaderComponent {
19016
- get headerClasses() {
19017
- return [this.layoutStyle === 'aligned' ? 'aligned-content' : '', this.useBackgroundImage ? 'with-bg-image' : ''].filter(Boolean).join(' ');
19018
- }
19019
- get shouldShowHeaderImage() {
19020
- return this.useBackgroundImage && !!this.headerImageUrl;
19021
- }
19022
- get shouldShowBreadcrumbs() {
19023
- return this.showBreadcrumbs && !!this.breadcrumbsItems?.length;
19024
- }
19025
- get hostStyles() {
19026
- return {
19027
- '--header-bg-color': this.curaService.getColor('primary-dark'),
19028
- '--header-title-color': this.curaService.getColor('neutral-purewhite'),
19029
- '--font-color': this.curaService.getColor('neutral-purewhite'),
19030
- };
19031
- }
19032
19039
  constructor(curaService) {
19033
19040
  this.curaService = curaService;
19034
- this.layoutStyle = 'aligned';
19035
19041
  this.pageTitle = '';
19036
- this.pageSubtitle = '';
19037
- this.useBackgroundImage = false;
19038
- this.showBreadcrumbs = true;
19039
- this.breadcrumbsItems = [];
19042
+ this.pageHeaderText = '';
19043
+ this.hasPadding = false;
19044
+ this.breadcrumbs = [];
19045
+ this.style = {
19046
+ '--spacing': this.curaService.getSpacing(),
19047
+ '--color': this.curaService.getColor('neutral-purewhite'),
19048
+ '--bg-color': this.curaService.getColor('primary-base'),
19049
+ };
19040
19050
  }
19041
19051
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponent, deps: [{ token: CuraService }], target: i0.ɵɵFactoryTarget.Component }); }
19042
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageHeaderComponent, isStandalone: true, selector: "rdsite-page-header", inputs: { layoutStyle: "layoutStyle", pageTitle: "pageTitle", pageSubtitle: "pageSubtitle", headerImageUrl: "headerImageUrl", useBackgroundImage: "useBackgroundImage", showBreadcrumbs: "showBreadcrumbs", breadcrumbsItems: "breadcrumbsItems" }, host: { properties: { "style": "this.hostStyles" } }, ngImport: i0, template: "<header class=\"page-header\" [ngClass]=\"headerClasses\">\n <!-- Imagem de fundo do cabe\u00E7alho (opcional) -->\n @if (shouldShowHeaderImage) {\n <div class=\"header-background\">\n <img [src]=\"headerImageUrl\" [alt]=\"pageTitle\" />\n </div>\n }\n\n <!-- Conte\u00FAdo do cabe\u00E7alho -->\n <div class=\"header-content\">\n <!-- Breadcrumbs -->\n @if (shouldShowBreadcrumbs) {\n <rdsite-breadcrumbs [items]=\"breadcrumbsItems\"></rdsite-breadcrumbs>\n }\n\n <!-- T\u00EDtulo e subt\u00EDtulo -->\n @if (pageTitle) {\n <cura-display color=\"neutral-purewhite\" margin-block=\"12\">\n {{ pageTitle }}\n </cura-display>\n }\n\n @if (pageSubtitle) {\n <cura-paragraph color=\"neutral-purewhite\" [innerHTML]=\"pageSubtitle\"></cura-paragraph>\n }\n\n <!-- Conte\u00FAdo customizado -->\n <ng-content></ng-content>\n </div>\n</header>\n", styles: [".page-header{position:relative;width:100%;min-height:272px;display:flex;flex-direction:column;justify-content:center;background-color:var(--header-bg-color);padding:50px 140px 50px 142px}.page-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.page-header.with-bg-image{background-color:transparent}.page-header.with-bg-image .header-background img{position:absolute;top:0;right:0;height:100%;max-width:100%;object-fit:cover;opacity:.7}.page-header .header-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background-color:var(--header-bg-color)}.page-header .header-background img{width:100%;height:100%;object-fit:cover;opacity:.3}.page-header .header-content{position:relative;z-index:1;width:100%;max-width:688px!important;text-align:left}@media (max-width: 361px){.page-header{padding:20px 15px;min-height:148px}}@media (min-width: 361px) and (max-width: 769px){.page-header{padding:30px 40px}}@media (min-width: 769px) and (max-width: 1024px){.page-header{padding:40px 90px}}@media (min-width: 1024px) and (max-width: 1366px){.page-header{padding:45px 52px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BreadcrumbsComponent, selector: "rdsite-breadcrumbs", inputs: ["fontColor", "breadcrumbs"] }] }); }
19052
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageHeaderComponent, isStandalone: true, selector: "rdsite-page-header", inputs: { pageTitle: "pageTitle", pageHeaderText: "pageHeaderText", hasPadding: "hasPadding", breadcrumbs: "breadcrumbs" }, host: { properties: { "style": "this.style" } }, ngImport: i0, template: "<header class=\"page-header\" [ngClass]=\"{ 'more-padding': hasPadding }\">\n <div class=\"page-header-content container\">\n @if (breadcrumbs.length) {\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbs\"></rdsite-breadcrumbs>\n }\n @if (pageTitle) {\n <cura-display level=\"1\" color=\"neutral-purewhite\" margin-block=\"0\">{{ pageTitle }}</cura-display>\n }\n @if (pageHeaderText) {\n <cura-paragraph color=\"neutral-purewhite\" margin-block=\"0\">{{ pageHeaderText }}</cura-paragraph>\n }\n <ng-content></ng-content>\n </div>\n</header>\n", styles: [".page-header{background-color:var(--bg-color)}.page-header-content{display:flex;flex-direction:column;gap:16px;padding:30px 0;display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.page-header-content.full-container{width:100%;max-width:100%}@media screen and (min-width: 769px){.page-header-content{gap:12px;padding:50px 0}}@media screen and (min-width: 769px){.page-header.more-padding{padding-inline:102px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BreadcrumbsComponent, selector: "rdsite-breadcrumbs", inputs: ["labelIconColor", "breadcrumbs"] }] }); }
19043
19053
  }
19044
19054
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageHeaderComponent, decorators: [{
19045
19055
  type: Component,
19046
- args: [{ selector: 'rdsite-page-header', standalone: true, imports: [CommonModule, BreadcrumbsComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<header class=\"page-header\" [ngClass]=\"headerClasses\">\n <!-- Imagem de fundo do cabe\u00E7alho (opcional) -->\n @if (shouldShowHeaderImage) {\n <div class=\"header-background\">\n <img [src]=\"headerImageUrl\" [alt]=\"pageTitle\" />\n </div>\n }\n\n <!-- Conte\u00FAdo do cabe\u00E7alho -->\n <div class=\"header-content\">\n <!-- Breadcrumbs -->\n @if (shouldShowBreadcrumbs) {\n <rdsite-breadcrumbs [items]=\"breadcrumbsItems\"></rdsite-breadcrumbs>\n }\n\n <!-- T\u00EDtulo e subt\u00EDtulo -->\n @if (pageTitle) {\n <cura-display color=\"neutral-purewhite\" margin-block=\"12\">\n {{ pageTitle }}\n </cura-display>\n }\n\n @if (pageSubtitle) {\n <cura-paragraph color=\"neutral-purewhite\" [innerHTML]=\"pageSubtitle\"></cura-paragraph>\n }\n\n <!-- Conte\u00FAdo customizado -->\n <ng-content></ng-content>\n </div>\n</header>\n", styles: [".page-header{position:relative;width:100%;min-height:272px;display:flex;flex-direction:column;justify-content:center;background-color:var(--header-bg-color);padding:50px 140px 50px 142px}.page-header::ng-deep *{font-family:Gotham,Arial,Helvetica,sans-serif}.page-header.with-bg-image{background-color:transparent}.page-header.with-bg-image .header-background img{position:absolute;top:0;right:0;height:100%;max-width:100%;object-fit:cover;opacity:.7}.page-header .header-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background-color:var(--header-bg-color)}.page-header .header-background img{width:100%;height:100%;object-fit:cover;opacity:.3}.page-header .header-content{position:relative;z-index:1;width:100%;max-width:688px!important;text-align:left}@media (max-width: 361px){.page-header{padding:20px 15px;min-height:148px}}@media (min-width: 361px) and (max-width: 769px){.page-header{padding:30px 40px}}@media (min-width: 769px) and (max-width: 1024px){.page-header{padding:40px 90px}}@media (min-width: 1024px) and (max-width: 1366px){.page-header{padding:45px 52px}}\n"] }]
19047
- }], ctorParameters: () => [{ type: CuraService }], propDecorators: { layoutStyle: [{
19048
- type: Input
19049
- }], pageTitle: [{
19050
- type: Input
19051
- }], pageSubtitle: [{
19056
+ args: [{ selector: 'rdsite-page-header', standalone: true, imports: [CommonModule, BreadcrumbsComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<header class=\"page-header\" [ngClass]=\"{ 'more-padding': hasPadding }\">\n <div class=\"page-header-content container\">\n @if (breadcrumbs.length) {\n <rdsite-breadcrumbs [breadcrumbs]=\"breadcrumbs\"></rdsite-breadcrumbs>\n }\n @if (pageTitle) {\n <cura-display level=\"1\" color=\"neutral-purewhite\" margin-block=\"0\">{{ pageTitle }}</cura-display>\n }\n @if (pageHeaderText) {\n <cura-paragraph color=\"neutral-purewhite\" margin-block=\"0\">{{ pageHeaderText }}</cura-paragraph>\n }\n <ng-content></ng-content>\n </div>\n</header>\n", styles: [".page-header{background-color:var(--bg-color)}.page-header-content{display:flex;flex-direction:column;gap:16px;padding:30px 0;display:block;box-sizing:border-box;width:90%;position:relative;max-width:1366px;margin-left:auto;margin-right:auto}.page-header-content.full-container{width:100%;max-width:100%}@media screen and (min-width: 769px){.page-header-content{gap:12px;padding:50px 0}}@media screen and (min-width: 769px){.page-header.more-padding{padding-inline:102px}}\n"] }]
19057
+ }], ctorParameters: () => [{ type: CuraService }], propDecorators: { pageTitle: [{
19052
19058
  type: Input
19053
- }], headerImageUrl: [{
19059
+ }], pageHeaderText: [{
19054
19060
  type: Input
19055
- }], useBackgroundImage: [{
19061
+ }], hasPadding: [{
19056
19062
  type: Input
19057
- }], showBreadcrumbs: [{
19058
- type: Input
19059
- }], breadcrumbsItems: [{
19063
+ }], breadcrumbs: [{
19060
19064
  type: Input
19061
- }], hostStyles: [{
19065
+ }], style: [{
19062
19066
  type: HostBinding,
19063
19067
  args: ['style']
19064
19068
  }] } });
19065
19069
 
19066
19070
  class PageTemplateSidebarComponent {
19071
+ constructor() {
19072
+ this.header = null;
19073
+ this.beforeContent = null;
19074
+ this.content = null;
19075
+ this.afterContent = null;
19076
+ this.sidebarContent = null;
19077
+ }
19067
19078
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTemplateSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19068
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTemplateSidebarComponent, isStandalone: true, selector: "rdsite-page-template-sidebar", inputs: { headerContent: "headerContent", beforeContent: "beforeContent", mainContent: "mainContent", mainSidebar: "mainSidebar", sidebarContent: "sidebarContent", afterContent: "afterContent" }, ngImport: i0, template: "<div class=\"page-template-sidebar\">\n <!-- Header Section -->\n <div class=\"header-content\">\n @if (headerContent) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n }\n </div>\n\n <!-- Before Content Section -->\n <div class=\"before-content\">\n @if (beforeContent) {\n <ng-container [ngTemplateOutlet]=\"beforeContent\"></ng-container>\n }\n </div>\n\n <!-- Main Content -->\n <div class=\"main-content\">\n @if (mainContent) {\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n }\n </div>\n\n <!-- Sidebars -->\n <div class=\"main-sidebar\">\n @if (mainSidebar) {\n <ng-container [ngTemplateOutlet]=\"mainSidebar\"></ng-container>\n }\n </div>\n <div class=\"secondary-sidebar\">\n @if (sidebarContent) {\n <ng-container [ngTemplateOutlet]=\"sidebarContent\"></ng-container>\n }\n </div>\n\n <!-- After Content -->\n <div class=\"after-content\">\n @if (afterContent) {\n <ng-container [ngTemplateOutlet]=\"afterContent\"></ng-container>\n }\n </div>\n</div>\n", styles: [".page-template-sidebar{display:grid;grid-template-columns:733px 292px;grid-template-rows:auto auto;grid-auto-rows:auto;gap:0px 53px;grid-auto-flow:row dense;padding:0 146px 0 142px;box-sizing:border-box}.page-template-sidebar .header-content{grid-area:1/1/2/4;margin:0 -146px 0 -142px;width:calc(100% + 288px)}.page-template-sidebar .main-sidebar{grid-area:1/3/3/4}.page-template-sidebar .secondary-sidebar{grid-area:3/3/5/4}.page-template-sidebar .before-content{grid-area:2/1/3/3}.page-template-sidebar .main-content{grid-area:3/1/5/3}.page-template-sidebar .after-content{grid-area:5/1/6/4}@media (max-width: 361px){.page-template-sidebar{padding:0 15px;min-height:148px}}@media (min-width: 361px) and (max-width: 769px){.page-template-sidebar{padding:0 40px}}@media (min-width: 769px) and (max-width: 1024px){.page-template-sidebar{padding:0 90px}}@media (min-width: 1024px) and (max-width: 1366px){.page-template-sidebar{padding:0 52px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
19079
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PageTemplateSidebarComponent, isStandalone: true, selector: "rdsite-page-template-sidebar", inputs: { header: "header", beforeContent: "beforeContent", content: "content", afterContent: "afterContent", sidebarContent: "sidebarContent" }, ngImport: i0, template: "<div class=\"rdsite-template-header\">\n @if (header) {\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n }\n</div>\n\n<div class=\"rdsite-template-before-content\">\n @if (beforeContent) {\n <ng-container *ngTemplateOutlet=\"beforeContent\"></ng-container>\n }\n</div>\n\n<div class=\"rdsite-template-container\">\n @if (content) {\n <section class=\"rdsite-content-container\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </section>\n }\n\n @if (sidebarContent) {\n <aside class=\"rdsite-sidebar-content-container\">\n <ng-container *ngTemplateOutlet=\"sidebarContent\"></ng-container>\n </aside>\n }\n</div>\n\n<div class=\"rdsite-template-after-content\">\n @if (afterContent) {\n <ng-container *ngTemplateOutlet=\"afterContent\"></ng-container>\n }\n</div>\n", styles: [":host{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(5%,1fr) minmax(auto,90%) minmax(5%,1fr);grid-template-areas:\"header header header\" \"beforecontent beforecontent beforecontent\" \". pagecontent .\" \"aftercontent aftercontent aftercontent\"}@media screen and (min-width: 992px){:host{grid-template-columns:minmax(5%,1fr) minmax(auto,1366px) minmax(5%,1fr)}}:host .rdsite-template-header{grid-area:header}:host .rdsite-template-before-content{grid-area:beforecontent}:host .rdsite-template-container{grid-area:pagecontent}:host .rdsite-template-after-content{grid-area:aftercontent}:host .rdsite-template-container{display:grid;position:relative;width:100%;grid-template-rows:1fr;grid-template-columns:3fr 20px 1fr;grid-template-areas:\"content . sidebarcontent\"}@media screen and (max-width: 992px){:host .rdsite-template-container{grid-template-rows:auto;grid-template-columns:1fr;grid-template-areas:\"content\" \"sidebarcontent\"}}:host .rdsite-template-container .rdsite-content-container{grid-area:content;position:relative;max-width:100%}:host .rdsite-template-container .rdsite-sidebar-content-container{grid-area:sidebarcontent;position:relative;z-index:3001}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
19069
19080
  }
19070
19081
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTemplateSidebarComponent, decorators: [{
19071
19082
  type: Component,
19072
- args: [{ selector: 'rdsite-page-template-sidebar', standalone: true, imports: [CommonModule], template: "<div class=\"page-template-sidebar\">\n <!-- Header Section -->\n <div class=\"header-content\">\n @if (headerContent) {\n <ng-container [ngTemplateOutlet]=\"headerContent\"></ng-container>\n }\n </div>\n\n <!-- Before Content Section -->\n <div class=\"before-content\">\n @if (beforeContent) {\n <ng-container [ngTemplateOutlet]=\"beforeContent\"></ng-container>\n }\n </div>\n\n <!-- Main Content -->\n <div class=\"main-content\">\n @if (mainContent) {\n <ng-container [ngTemplateOutlet]=\"mainContent\"></ng-container>\n }\n </div>\n\n <!-- Sidebars -->\n <div class=\"main-sidebar\">\n @if (mainSidebar) {\n <ng-container [ngTemplateOutlet]=\"mainSidebar\"></ng-container>\n }\n </div>\n <div class=\"secondary-sidebar\">\n @if (sidebarContent) {\n <ng-container [ngTemplateOutlet]=\"sidebarContent\"></ng-container>\n }\n </div>\n\n <!-- After Content -->\n <div class=\"after-content\">\n @if (afterContent) {\n <ng-container [ngTemplateOutlet]=\"afterContent\"></ng-container>\n }\n </div>\n</div>\n", styles: [".page-template-sidebar{display:grid;grid-template-columns:733px 292px;grid-template-rows:auto auto;grid-auto-rows:auto;gap:0px 53px;grid-auto-flow:row dense;padding:0 146px 0 142px;box-sizing:border-box}.page-template-sidebar .header-content{grid-area:1/1/2/4;margin:0 -146px 0 -142px;width:calc(100% + 288px)}.page-template-sidebar .main-sidebar{grid-area:1/3/3/4}.page-template-sidebar .secondary-sidebar{grid-area:3/3/5/4}.page-template-sidebar .before-content{grid-area:2/1/3/3}.page-template-sidebar .main-content{grid-area:3/1/5/3}.page-template-sidebar .after-content{grid-area:5/1/6/4}@media (max-width: 361px){.page-template-sidebar{padding:0 15px;min-height:148px}}@media (min-width: 361px) and (max-width: 769px){.page-template-sidebar{padding:0 40px}}@media (min-width: 769px) and (max-width: 1024px){.page-template-sidebar{padding:0 90px}}@media (min-width: 1024px) and (max-width: 1366px){.page-template-sidebar{padding:0 52px}}\n"] }]
19073
- }], propDecorators: { headerContent: [{
19083
+ args: [{ selector: 'rdsite-page-template-sidebar', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"rdsite-template-header\">\n @if (header) {\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n }\n</div>\n\n<div class=\"rdsite-template-before-content\">\n @if (beforeContent) {\n <ng-container *ngTemplateOutlet=\"beforeContent\"></ng-container>\n }\n</div>\n\n<div class=\"rdsite-template-container\">\n @if (content) {\n <section class=\"rdsite-content-container\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </section>\n }\n\n @if (sidebarContent) {\n <aside class=\"rdsite-sidebar-content-container\">\n <ng-container *ngTemplateOutlet=\"sidebarContent\"></ng-container>\n </aside>\n }\n</div>\n\n<div class=\"rdsite-template-after-content\">\n @if (afterContent) {\n <ng-container *ngTemplateOutlet=\"afterContent\"></ng-container>\n }\n</div>\n", styles: [":host{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:minmax(5%,1fr) minmax(auto,90%) minmax(5%,1fr);grid-template-areas:\"header header header\" \"beforecontent beforecontent beforecontent\" \". pagecontent .\" \"aftercontent aftercontent aftercontent\"}@media screen and (min-width: 992px){:host{grid-template-columns:minmax(5%,1fr) minmax(auto,1366px) minmax(5%,1fr)}}:host .rdsite-template-header{grid-area:header}:host .rdsite-template-before-content{grid-area:beforecontent}:host .rdsite-template-container{grid-area:pagecontent}:host .rdsite-template-after-content{grid-area:aftercontent}:host .rdsite-template-container{display:grid;position:relative;width:100%;grid-template-rows:1fr;grid-template-columns:3fr 20px 1fr;grid-template-areas:\"content . sidebarcontent\"}@media screen and (max-width: 992px){:host .rdsite-template-container{grid-template-rows:auto;grid-template-columns:1fr;grid-template-areas:\"content\" \"sidebarcontent\"}}:host .rdsite-template-container .rdsite-content-container{grid-area:content;position:relative;max-width:100%}:host .rdsite-template-container .rdsite-sidebar-content-container{grid-area:sidebarcontent;position:relative;z-index:3001}\n"] }]
19084
+ }], propDecorators: { header: [{
19074
19085
  type: Input
19075
19086
  }], beforeContent: [{
19076
19087
  type: Input
19077
- }], mainContent: [{
19088
+ }], content: [{
19078
19089
  type: Input
19079
- }], mainSidebar: [{
19090
+ }], afterContent: [{
19080
19091
  type: Input
19081
19092
  }], sidebarContent: [{
19082
19093
  type: Input
19083
- }], afterContent: [{
19084
- type: Input
19085
19094
  }] } });
19086
19095
 
19087
19096
  class FilterLetterAndTermsComponent {
@@ -19108,6 +19117,104 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
19108
19117
  type: Output
19109
19118
  }] } });
19110
19119
 
19120
+ class ScrollService {
19121
+ constructor() {
19122
+ this.document = inject(DOCUMENT);
19123
+ }
19124
+ scrollToElement(elementId, offset = 0, smooth = true) {
19125
+ const element = this.document.getElementById(elementId);
19126
+ if (!element) {
19127
+ console.warn(`Elemento com id "${elementId}" não encontrado`);
19128
+ return false;
19129
+ }
19130
+ try {
19131
+ const titleElement = element.querySelector('h1, h2, h3, h4, h5, h6') || element;
19132
+ const titlePosition = titleElement.getBoundingClientRect().top + window.scrollY;
19133
+ const stickyHeaderHeight = document.querySelector('.nav-container')?.clientHeight || 0;
19134
+ const offsetPosition = titlePosition - offset - stickyHeaderHeight - 16;
19135
+ window.scrollTo({
19136
+ top: offsetPosition,
19137
+ behavior: smooth ? 'smooth' : 'auto',
19138
+ });
19139
+ return true;
19140
+ }
19141
+ catch (error) {
19142
+ console.error('Erro ao fazer scroll para o elemento:', error);
19143
+ return false;
19144
+ }
19145
+ }
19146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19147
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, providedIn: 'root' }); }
19148
+ }
19149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ScrollService, decorators: [{
19150
+ type: Injectable,
19151
+ args: [{
19152
+ providedIn: 'root',
19153
+ }]
19154
+ }] });
19155
+
19156
+ class SectionNavigationComponent {
19157
+ set navigationSections(value) {
19158
+ if (!value?.length) {
19159
+ throw new Error('O SectionNavigationComponent requer pelo menos uma seção.');
19160
+ }
19161
+ this.sections.set(value);
19162
+ if (!this.activeSection()) {
19163
+ this.activeSection.set(value[0].id);
19164
+ }
19165
+ }
19166
+ set navigationConfig(value) {
19167
+ this.config.set(value);
19168
+ }
19169
+ constructor() {
19170
+ this.scrollService = inject(ScrollService);
19171
+ this.curaService = inject(CuraService);
19172
+ this.sections = signal([]);
19173
+ this.config = signal(undefined);
19174
+ this.activeSection = signal('');
19175
+ this.ariaLabel = 'Page Navigation';
19176
+ this.sectionChange = new EventEmitter();
19177
+ effect(() => {
19178
+ const sections = this.sections();
19179
+ if (sections.length && !this.activeSection()) {
19180
+ this.activeSection.set(sections[0].id);
19181
+ }
19182
+ });
19183
+ }
19184
+ ngOnInit() {
19185
+ const sections = this.sections();
19186
+ if (!sections.length) {
19187
+ throw new Error('O SectionNavigationComponent requer pelo menos uma seção.');
19188
+ }
19189
+ if (!this.activeSection()) {
19190
+ this.activeSection.set(sections[0].id);
19191
+ }
19192
+ }
19193
+ onSectionClick(section) {
19194
+ const config = this.config();
19195
+ const success = this.scrollService.scrollToElement(section.id, config?.offsetTop ?? 56, config?.smoothScroll ?? true);
19196
+ if (success) {
19197
+ this.activeSection.set(section.id);
19198
+ this.sectionChange.emit(section);
19199
+ }
19200
+ }
19201
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19202
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: SectionNavigationComponent, isStandalone: true, selector: "rdsite-section-navigation", inputs: { navigationSections: "navigationSections", navigationConfig: "navigationConfig", ariaLabel: "ariaLabel" }, outputs: { sectionChange: "sectionChange" }, ngImport: i0, template: "<nav [class]=\"config()?.containerClass || 'nav-container'\" [attr.aria-label]=\"ariaLabel\">\n <div class=\"nav-inner\">\n <ul class=\"nav-menu\" role=\"menubar\">\n @for (section of sections(); track section.id) {\n <li role=\"none\">\n @if (activeSection() === section.id) {\n <cura-button\n size=\"small\"\n type=\"button\"\n color=\"primary\"\n font-color=\"light\"\n target=\"_self\"\n role=\"menuitem\"\n [id]=\"'nav-' + section.id\"\n [attr.aria-current]=\"'page'\"\n (click)=\"onSectionClick(section)\"\n [attr.aria-label]=\"'Navigate to ' + section.title\"\n >\n {{ section.title }}\n </cura-button>\n } @else {\n <cura-button-transparent\n size=\"small\"\n type=\"button\"\n color=\"neutral\"\n font-color=\"dark\"\n target=\"_self\"\n text-align=\"center\"\n role=\"menuitem\"\n [id]=\"'nav-' + section.id\"\n [attr.aria-current]=\"null\"\n (click)=\"onSectionClick(section)\"\n [attr.aria-label]=\"'Navigate to ' + section.title\"\n >\n {{ section.title }}\n </cura-button-transparent>\n }\n </li>\n }\n </ul>\n </div>\n</nav>\n", styles: [":host{display:block}.nav-container{width:100%;position:sticky;top:0;left:0;z-index:50;background-color:#fff;border-bottom:1px solid #b7b7b7;box-shadow:0 4px 8px #26262629;padding-top:26px}.nav-inner{max-width:1152px;margin-left:auto;margin-right:auto}.nav-menu{display:flex;list-style:none;padding:0;margin:0}cura-button{position:relative;--border-radius: 4px 4px 0 0 !important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
19203
+ }
19204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionNavigationComponent, decorators: [{
19205
+ type: Component,
19206
+ args: [{ selector: 'rdsite-section-navigation', standalone: true, imports: [CommonModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<nav [class]=\"config()?.containerClass || 'nav-container'\" [attr.aria-label]=\"ariaLabel\">\n <div class=\"nav-inner\">\n <ul class=\"nav-menu\" role=\"menubar\">\n @for (section of sections(); track section.id) {\n <li role=\"none\">\n @if (activeSection() === section.id) {\n <cura-button\n size=\"small\"\n type=\"button\"\n color=\"primary\"\n font-color=\"light\"\n target=\"_self\"\n role=\"menuitem\"\n [id]=\"'nav-' + section.id\"\n [attr.aria-current]=\"'page'\"\n (click)=\"onSectionClick(section)\"\n [attr.aria-label]=\"'Navigate to ' + section.title\"\n >\n {{ section.title }}\n </cura-button>\n } @else {\n <cura-button-transparent\n size=\"small\"\n type=\"button\"\n color=\"neutral\"\n font-color=\"dark\"\n target=\"_self\"\n text-align=\"center\"\n role=\"menuitem\"\n [id]=\"'nav-' + section.id\"\n [attr.aria-current]=\"null\"\n (click)=\"onSectionClick(section)\"\n [attr.aria-label]=\"'Navigate to ' + section.title\"\n >\n {{ section.title }}\n </cura-button-transparent>\n }\n </li>\n }\n </ul>\n </div>\n</nav>\n", styles: [":host{display:block}.nav-container{width:100%;position:sticky;top:0;left:0;z-index:50;background-color:#fff;border-bottom:1px solid #b7b7b7;box-shadow:0 4px 8px #26262629;padding-top:26px}.nav-inner{max-width:1152px;margin-left:auto;margin-right:auto}.nav-menu{display:flex;list-style:none;padding:0;margin:0}cura-button{position:relative;--border-radius: 4px 4px 0 0 !important}\n"] }]
19207
+ }], ctorParameters: () => [], propDecorators: { navigationSections: [{
19208
+ type: Input,
19209
+ args: [{ required: true }]
19210
+ }], navigationConfig: [{
19211
+ type: Input
19212
+ }], ariaLabel: [{
19213
+ type: Input
19214
+ }], sectionChange: [{
19215
+ type: Output
19216
+ }] } });
19217
+
19111
19218
  // Components
19112
19219
 
19113
19220
  class PhonePipe {
@@ -19134,5 +19241,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
19134
19241
  * Generated bundle index. Do not edit.
19135
19242
  */
19136
19243
 
19137
- export { AbstractModalComponent, AbstractModalDrawerComponent, AlgoliaComponent, AlgoliaSearchApiService, AlgoliaService, BreadcrumbsComponent, CtaWrapperComponent, CuraService, EnumDoencaTaxonomy, EnumDoencaTaxonomyCat, ErrorComponent, ErrorService, Errors, Estados, FilterLetterAndTermsComponent, FooterComponent, FooterDisclaimerComponent, FooterMenuComponent, FooterMenuItemComponent, FooterSocialMediasComponent, HeaderActionMenuComponent, HeaderAuxMenuComponent, HeaderAuxMenuContainerComponent, HeaderAuxMenuItemComponent, HeaderAuxMenuItemDropdownComponent, HeaderComponent, HeaderLogoComponent, HeaderMainMenuComponent, HeaderMainMenuItemComponent, HeaderMainMenuItemDropdownComponent, HeaderService, HeaderSideMenuComponent, HeaderSideMenuItemComponent, HttpClientService, IconCuraDefaultType, LIB_CONFIG, LoadScreenComponent, LogService, ModalDrawerService, ModalService, NguCarouselService, OverlayComponent, PageHeaderComponent, PageTemplateSidebarComponent, PhonePipe, PhoneService, PrivacyToolsService, REQUEST, RESPONSE, RdsiteClickOutsideDirective, RdsiteLinkDirective, RdsiteModalComponentStyle, RdsiteModalDrawerComponentStyle, RdsitePhoneModalDirective, SSR_CURA_API, SearchComponent, SeoService, ServerResponseService, SideCtasBottomComponent, SideCtasComponent, SideCtasRightBottomComponent, SideCtasRightMiddleComponent, SideCtasRightTopComponent, SiteBackendService, SsrLoadingService, Themes, TransferStateService, WhatsappComponent, formatPhone, getSiteUrl, removeDuplicateObjectsFromArray, removeDuplicateValuesFromArray, removeHtmlTags, toQueryParams };
19244
+ export { AbstractModalComponent, AbstractModalDrawerComponent, AlgoliaComponent, AlgoliaSearchApiService, AlgoliaService, BreadcrumbsComponent, CtaWrapperComponent, CuraService, EnumDoencaTaxonomy, EnumDoencaTaxonomyCat, ErrorComponent, ErrorService, Errors, Estados, FilterLetterAndTermsComponent, FooterComponent, FooterDisclaimerComponent, FooterMenuComponent, FooterMenuItemComponent, FooterSocialMediasComponent, HeaderActionMenuComponent, HeaderAuxMenuComponent, HeaderAuxMenuContainerComponent, HeaderAuxMenuItemComponent, HeaderAuxMenuItemDropdownComponent, HeaderComponent, HeaderLogoComponent, HeaderMainMenuComponent, HeaderMainMenuItemComponent, HeaderMainMenuItemDropdownComponent, HeaderService, HeaderSideMenuComponent, HeaderSideMenuItemComponent, HttpClientService, IconCuraDefaultType, LIB_CONFIG, LoadScreenComponent, LogService, ModalDrawerService, ModalService, NguCarouselService, OverlayComponent, PageHeaderComponent, PageTemplateSidebarComponent, PhonePipe, PhoneService, PrivacyToolsService, REQUEST, RESPONSE, RdsiteClickOutsideDirective, RdsiteLinkDirective, RdsiteModalComponentStyle, RdsiteModalDrawerComponentStyle, RdsitePhoneModalDirective, SSR_CURA_API, SearchComponent, SectionNavigationComponent, SeoService, ServerResponseService, SideCtasBottomComponent, SideCtasComponent, SideCtasRightBottomComponent, SideCtasRightMiddleComponent, SideCtasRightTopComponent, SiteBackendService, SsrLoadingService, Themes, TransferStateService, WhatsappComponent, formatPhone, getSiteUrl, removeDuplicateObjectsFromArray, removeDuplicateValuesFromArray, removeHtmlTags, toQueryParams };
19138
19245
  //# sourceMappingURL=rededor-site-front-end-lib.mjs.map